OpenCV学习笔记:opencv_core模块
一,简介:
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模块的更多相关文章
- OpenCV 学习笔记 02 使用opencv处理图像
1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...
- opencv学习笔记(七)SVM+HOG
opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...
- opencv学习笔记(六)直方图比较图片相似度
opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...
- opencv学习笔记(五)镜像对称
opencv学习笔记(五)镜像对称 设图像的宽度为width,长度为height.(x,y)为变换后的坐标,(x0,y0)为原图像的坐标. 水平镜像变换: 代码实现: #include <ios ...
- opencv学习笔记(四)投影
opencv学习笔记(四)投影 任选了一张图片用于测试,图片如下所示: #include <cv.h> #include <highgui.h> using namespace ...
- opencv学习笔记(三)基本数据类型
opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...
- opencv学习笔记(二)寻找轮廓
opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...
- opencv学习笔记(一)IplImage, CvMat, Mat 的关系
opencv学习笔记(一)IplImage, CvMat, Mat 的关系 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,M ...
- paper 93:OpenCV学习笔记大集锦
整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...
- (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU
首页 视界智尚 算法技术 每日技术 来打我呀 注册 OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...
随机推荐
- 【AS3 Coder】任务九:游戏新手引导的制作原理(上)
使用框架:AS3任务描述:了解游戏中新手的制作原理及流程 难度:3 本章源码下载:http://www.iamsevent.com/zb_users/UPLOAD/GuideManager/Test1 ...
- SQL查询刚開始学习的人指南读书笔记(一)关系数据库和SQL介绍
PART I:Relational Databases and SQL Chapter2, Ensuring Your Database Structure IsSound. 数据库设计准则 什么是关 ...
- JAVA利用HttpClient进行POST请求(HTTPS)
目前,要为另一个项目提供接口,接口是用HTTP URL实现的,最初的想法是另一个项目用jQuery post进行请求. 但是,很可能另一个项目是部署在别的机器上,那么就存在跨域问题,而JQuery的p ...
- tomcat优化---大数据量提交tomcat时,tomcat无法接收导致页面无反应
关于tomcat的一个优化问题: 有时候保存大数据量的数据时.tomcat不优化的话,页面会没反应.tomcat后台并不报错,仅仅是提示以下内容: 警告: More than the maximum ...
- 微信小程序bindtap和catchtap区别
bindtap可以产生冒泡事件 catchtap只自身触发事件,不会传递到父视图 文章来源:刘俊涛的博客 地址:http://www.cnblogs.com/lovebing 欢迎关注 ...
- react-native + react-native-tab-navigator 实现 TabBar
1.安装 react-native-tab-navigator yarn add react-native-tab-navigator 2.页面调用 /** * 主页面 */ import React ...
- libevent2源码分析之一:前言
event的本质 libevent2中的event的本质是什么?只要是非同步阻塞的运行方式,肯定遵循事件的订阅-发布模型.通过event_new的函数原型可以理解,一个event即代表一次订阅,建立起 ...
- 【Java】Java_03第一个Java程序
第一个JAVA程序的编写和运行 1.使用记事本编辑 public class Welcome{ public static void main(String[] agrs){ System.out.p ...
- IIS各种问题汇总
1.不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overrid ...
- JaunsGraph数据模型
JanusGraph采用邻接表(adjacency list)的方式存储图,也即图以顶点(vertex)和其邻接表组成.邻接表中保存某个顶点的所有入射边(incident edges). 通过将图采用 ...
