opencv基础教程绪论
opencv基础教程绪论(版本:opencv2.X以上)
(1)Opencv的模块
core: 数据结构和线性代数支持(Mat多维数组和调用其他模块的函数)
imgproc: 图像处理模块,包括线性和非线性的图像的滤波,几何图像变换(调整大小,仿射和透视翘曲,通用的基于表的重映射),色彩空间转换,直方图,等等。
video: 视频分析模块,包括背景减法,运动估计,和目标跟踪算法。
calib3b:基本的多视图几何算法,单和立体摄像机标定,反对姿态估计,立体匹配算法,三维重建和元素。
features2d: 显着特征探测器,描述符和描述符匹配
objdetect: 检测的对象和实例的预定义的类(例如,脸,眼睛,杯子,人,车,和等等)。
highgui: 一个易于使用的的的到视频的留存,影象和视频编解码器,如以及作为简单的的的的的UI的能力的接口。
gpu: GPU加速的算法不同OpenCV的模块
(2)Opencv的功能
对图像数据的操作,分配、释放、复制、设置、以及转换。
对于图像和摄像头采集的图像的读入、处理、以及输出。
对于矩阵和向量 的操作和线性代数的一些算法(如:特征值)。
对各种动态的数据结构(如列表、队列、集合、树、图)进行操作。
数字图像处理(如滤波、边缘检测、角点检测、采样与差值、色彩转换、形态操作、直方图、图像金字塔等)。
对各种结构进行分析(连接部件的分析、轮廓处理、距离变换、各种距的计算、模板匹配、Hough变换、多边形逼近、直线拟合、椭圆拟合、Delaunay三角划分等)
对摄像头的标定(发现与跟踪定标模式、定标、基本矩阵估计、齐次矩阵估计、立体对应等)。
对运动的分析(对光流、运动分割、跟踪的分析)。
对目标的识别(采用特征法和隐马尔科夫模型(HMM)法等)。
基本的Highgui功能(包括图像与视频的显示、键盘和鼠标事件处理、滚动条)。
对图像进行标注
(3)各模块详细信息见开发手册
地址:
http://www.opencv.org.cn/opencvdoc/2.3.2/html/index.html
(4)API Concepts
cv Namespace(命名空间):OpenCV的所有类和功能函数使用命名空间。因此,代码中,要使用cv:: 或 using namespace cv 指令:
#include "opencv2/core/core.hpp" ... cv::Mat H = cv::findHomography(points1,points2,CV_RANSAC,5); ...
或者
#include "opencv2/core/core.hpp" using namespace cv; ... Mat H = findHomography(points1,points2,CV_RANSAC,5); ...
一些当前或未来的OpenCV的外部名称可能与STL或其他库冲突。在这种情况下,使用明确的命名空间符来解析名称冲突:
参考手册学习网站:
http://www.opencv.org.cn/opencvdoc/2.3.2/html/index.html
Best Regards To Reader:
==============================================
Royal Kao(高全宁)
Mob: 13771921045
Mail: gaoquanning@163.com
Blog: http://www.cnblogs.com/gaoquanning/
==============================================