OpenCV學習筆記:opencv_core模塊


一,簡介:

opencv最基礎的庫。包含exception,point,rect,size,slice,vector,matrix,image等數據結構,和相應的操作函數,以及一些基礎算法。

二,分析:

opencv_core模塊src文件包括如下圖所示:

opencv_core

下面按照依賴關系來分析各個頭文件的作用(后面的頭文件依賴於前面的頭文件):

Header Files/cvconfig.h ,用於編譯選項開關,可配置第三方庫的支持;

Header Files/opencv_modules.hpp, 用於編譯選項開關,配置opencv內部模塊的裁剪;

version.hpp, 定義了opencv的版本號;

cvdef.h,用於設置編譯平台(gcc,msvc等)相關的選項和SIMD指令的支持,定義了OpenCV基礎數據類型(CV_8UC1等),以及平台相關原子操作函數;

types_c.h,為C/C++頭文件,定義了C操作的OpenCV基礎數據結構,包括:Cv32suf,Cv64suf,CVStatus,CvRNG,IplImage,IplTileInfo,IplROI,IplConvKernel,IplConvKernelFP,CvMat,CvMatND,CvSet,CvSparesMat,CvSparseMatIterator,cvHistType,CvHistogram,CvRect,CvTermCriteria,CvPoint,CvPoint2D32f,CvPoint3D32f,CvPoint2D64f,CvPoint3D64f,CvSize,CvSize2D32f,CvBox2D,CvLineIterator,CvSlice,CvScalar,CvMemBlock,CvMemStorage,CvMemStoragePos,CvSeqBlock,CvSeq,CvSetElem,CvSet,CvGraphEdge,CvGraphVtx,CvGraphVtx2D,CvGraph,CvChain,CvContour,CvPoint2DSeq,CvSeqWriter,CvSeqReader,CvAttrList,CvTypeInfo,CvString,CvStringHashNode,CvFileNode,CvTypeInfo,CvPluginFuncInfo,CvModuleInfo,以及一些相關操作函數;

types.hpp,為C++ only頭文件,定義了C++操作的OpenCV基礎數據結構,包括:Complex,Point,Point3,Size,Rect,RotatedRect,Range,Scalar,KeyPoint,DMatch,TermCriteria,Moments,以及一些相關操作函數;

cvstd.inl.hpp,cvstd.hpp,如果沒有定義OPENCV_NOSTL宏(即使用c++ std庫),則定義了FileNode,Allocator,Ptr,String以及與std數據類型兼容的一些操作,並且定義了相關數據類型的輸入輸出函數;

base.hpp,定義了error code等;

Cuda Headers/*.*,gpu*,opengl.hpp,這些是並行加速的相關數據結構函數,目前不做分析,且后記博客也將跳過這些文件

三,總結:

未完待更新!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM