一、opencv模块(主要):
v CV主要的OpenCV函数:图像处理与视觉算法;
v ML机器学习、模式分类和回归分析,统计分离器;
v HighGUI 图像视频输入/出;
v CXcore 数据结构与线性代数支持,基本函数;
二、常用的视频和图像处理:
v 视频处理:
以下处理的demo在
彩色跟踪 (camshiftdemo);
点跟踪 (lkdemo);
运动分割 (motempl);
边缘检测 (laplace);
v 图像处理:
以下图像的处理demo在
边缘检测 (edge);
分割 ( pyramid_segmentation);
形态学操作 (morphology);
直方图 (demhist);
距离变换 (distrans);
椭圆拟合 (fitellipse);
三、命名规则:
OpenCV使用近似匈牙利命名法的方法,比较值得一提的特色是:它的数据结构几乎都 是大写的Cv开头,而它提供的函数都是小写的cv
v 函数名:
cvActionTargetMod(...) 提高了函数的可读性,指明用什么动作,哪个目标,用什么方法
Action = 核心功能(core functionality) (e.g. set, create)
Target = 目标图像区域(target image area) (e.g. contour, polygon)
Mod = (可选的)调整语(optional modifiers) (e.g. argument type)
常遇到的状况有四种:
1.cvActionTarget() E.g.:cvCreateImage(),cvNamedWindow()
2.cvTarget() E.G.: cvMat(),cvSize(),cvPoint()
3.cvMethod() E.g.:cvDCT()离散余弦变换算法 常用于算法或某方法
4.cvActionMethod() E.g:cvFindContours()轮廓搜寻算法
v 矩阵数据类型:
CV_
Bit_depth = 位数,也叫做深度 位数分別有1bit(黑白二值图),8bits,16bits,32bits
Number_of_channels = 通道数
S = 符号整型
U = 无符号整型
F = 浮点型
E.g.: CV_8UC1 是指一个8位无符号整型单通道矩阵,
CV_32FC2是指一个32位浮点型双通道矩阵.
v 图像数据类型:
IPL_DEPTH_
E.g.: IPL_DEPTH_8U 图像像素数据是8位无符号整型.
IPL_DEPTH_32F图像像素数据是32位浮点型.
v 头文件:
#include
#include
#include
#include
#include
四、基础数据结构:
CvPoint:
v OpenCV的基本数据类型之一,表示一个坐标为整数的二维点,是一个包含integer类型成员x和y的简单结构体。
v CvPoint 二维坐标系下的点,类型为整型
Typedef struct CvPoint
{
Int x; //x坐标,通常以0为基点
Int y; //y坐标,通常以0为基点
} CvPoint;
v CvPoint 的构造函数:
inline CvPoint cvPoint( int x, int y );
v 从CvPoint2D32f转换:
inline CvPoint cvPointFrom32f( CvPoint2D32f point );
v 变体类型:
CvPoint2D32f :二维坐标下的点,类型为浮点
CvPoint2D64f
CvPoint3D32f :三维坐标下的点,类型为浮点
CvPoint3D64f
CvSize: 矩形框大小,以像素为精度
Typedef struct CvSize
{
Int width; //矩形宽
Int height; //矩形高
} CvSize;