一,简介:

opencv最基础的库。包含exception,point,rect,size,slice,vector,matrix,image等数据结构,和相应的操作函数,以及一些基础算法。

二,分析:

opencv_core模块src文件包括如下图所示:

下面按照依赖关系来分析各个头文件的作用(后面的头文件依赖于前面的头文件):

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,这些是并行加速的相关数据结构函数,目前不做分析,且后记博客也将跳过这些文件

三,总结:

未完待更新!

OpenCV学习笔记:opencv_core模块的更多相关文章

  1. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

  2. opencv学习笔记(七)SVM+HOG

    opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...

  3. opencv学习笔记(六)直方图比较图片相似度

    opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...

  4. opencv学习笔记(五)镜像对称

    opencv学习笔记(五)镜像对称 设图像的宽度为width,长度为height.(x,y)为变换后的坐标,(x0,y0)为原图像的坐标. 水平镜像变换: 代码实现: #include <ios ...

  5. opencv学习笔记(四)投影

    opencv学习笔记(四)投影 任选了一张图片用于测试,图片如下所示: #include <cv.h> #include <highgui.h> using namespace ...

  6. opencv学习笔记(三)基本数据类型

    opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...

  7. opencv学习笔记(二)寻找轮廓

    opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...

  8. opencv学习笔记(一)IplImage, CvMat, Mat 的关系

    opencv学习笔记(一)IplImage, CvMat, Mat 的关系 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,M ...

  9. paper 93:OpenCV学习笔记大集锦

    整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...

  10. (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...

随机推荐

  1. GSM模块_GPRS数据传输机制和原理

    通信专业术语 BSS--基站子系统,通过无线接口与移动台直接联系,负责在一定区域内和移动台通信.(GSM) BTS--基站收发台,可以看作一复杂的无线调制器,BSS的主要部分,每个分配有若干信道.(G ...

  2. mongodb聚合(转)

    聚合 是泛指各种可以处理批量记录并返回计算结果的操作.MongoDB提供了丰富的聚合操作,用于对数据集执行计算操作.在 mongod 实例上执行聚合操作可以大大简化应用的代码,并降低对资源的消耗. 聚 ...

  3. cinemachine unity

    scrips extending timeline Extending Timeline with your own playables Data   Audio   ----playable beh ...

  4. 远程管理服务 Windows Remote Management (WS-Management)

    Windows Remote Management (WS-Management) Windows 远程管理(WinRM)服务执行 WS-Management 协议来实现远程管理.WS-Managem ...

  5. 配置 mybatis的 log4j.properties

    log4j.rootLogger=debug,stdout,logfile ### 把日志信息输出到控制台 ### log4j.appender.stdout=org.apache.log4j.Con ...

  6. C#跨平台物联网通讯框架ServerSuperIO(SSIO)正式开源... 1

    今天科技类最大的新闻,莫过于微软宣布.NET开发框架开源计划..NET 开源,集成 Clang 和 LLVM 而且自带 Android 模拟器,这意味着 Visual Studio 这个当下最好没有之 ...

  7. Android 之UI自适应解决方式

    1.概况 作为Android开发者,最头疼的莫过于让自己开发的程序在不同终端上面的显示效果看起来尽量一致(当然.假设要充分利用大屏幕的优势另当别论).在全球范围内来讲.android有着数以亿计的设备 ...

  8. 基于Opencv自带BP网络的车标简易识别

    代码地址如下:http://www.demodashi.com/demo/12966.html 记得把这几点描述好咯:代码实现过程 + 项目文件结构截图 + 演示效果 1.准备工作 1.1 训练集和测 ...

  9. <转> lua: userdata的metatable使用

    1 如何封装c++的指针 对于c++对象的lua包装,我们可以使用 template<typename T> struct luaUserdataWrapper {  luaUserdat ...

  10. CefSharp.WinForms

    CefSharp.WinForms 一.  前言 银医通项目,现在另外一家医院需要上系统,所以项目需要重新搭建,由于这家医院的His系统和另外一家医院的His系统不同,界面风格也不一致,所以重新搭建, ...