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

原文地址:https://www.cnblogs.com/gaoquanning/p/3080047.html