一,简介:

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. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:3.安装Oracle RAC-3.2.安装 cvuqdisk 软件包

    3.2.安装 cvuqdisk 软件包 3.2.1. 准备Oracle  Grid安装包 上传Grid .Oracle 安装文件: sftp> put E:\Software\linux.x64 ...

  2. Arduino+GPRS 的环境监控方案

    设备前台界面:http://www.lewei50.com/home/gatewaystatus/361#576 本实采用的硬件,除了一个串口模块以外(约200元),其他均可以从taobo上面找到标准 ...

  3. u-boot修改出错的问题

    一.u-boot找不到nandflash 我用的开发板是fl2440的,里面没有norflash只有nandflash.我用了s3c2410的u-boot改的,所以要把内核从norflash启动改成适 ...

  4. CSS3 transform变换

    CSS3 transform变换 1.translate(x,y) 设置盒子位移2.scale(x,y) 设置盒子缩放3.rotate(deg) 设置盒子旋转4.skew(x-angle,y-angl ...

  5. Git与GitLab

    Git与GitLab 一.Git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个 ...

  6. vue2计算属性computed

    详见vue2.0 API<计算属性> 需求: 模板内的表达式是非常便利的,但是它们实际上只用于简单的运算.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id=&qu ...

  7. 如何让Firefox清除它记下的网站登录名和密码

  8. 云计算之路-阿里云上:禁用Windows虚拟内存引发的重启

    昨天(2013年8月6日)下午,承载www.cnblogs.com主站的两台云服务器分别自动重启了1次,由于这两台云服务器使用了负载均衡(SLB),重启并未影响网站的正常访问. 与这次重启相关的Win ...

  9. php开发第一课

    开发环境:wampserver IDE工具:sublime2 问题记录: 1.如何避免在php中中文乱码? 在php头部加入:<meta charset="utf-8"> ...

  10. 什么是Pro*C/C++,嵌入式SQL,第一个pro*c程序,pro*c++,Makefile,Proc增删改查

     1 什么是Pro*C/C++ 1.通过在过程编程语言C/C++中嵌入SQL语句而开发出的应用程序 2.什么是嵌入式SQL 1.在通用编程语言中使用的SQL称为嵌入式SQL 2.在SQL标准中定义 ...