OpenCV主要针对的是计算机视觉方面的处理,因此在函数库中,最重要的结构体是IplImage,IplImage结构体来源于Intel的另外一个函数库IpL,主要针对图像处理。
一、常用的几个IplImage结构体成员:
typedef struct _IplImage
{
int nSize;//IplImage的大小sizeof(IplImage)。
int nChannels;//通道数。
int depth;//颜色深度。
int origin;//起点结构,默认为顶-左结构,值为0;若为1,则为底-左结构,图像上下颠倒。
int width;//图像宽度。
int height;//图像高度。
int widthStep;//图像每行所占字节数。
}
IplImage;
创建一个图像:
/*
IPL_DEPTH_8U:表示图像深度为8,即可用255(2的8次幂)以内的值来表示该点。
cvCreateImage:创建新的图像,其中宽高比为30*40,颜色深度为8位,通道数为1
*/
CvSize size;
size.width = 300;
size.height = 400;
IplImage *src = cvCreateImage(size, IPL_DEPTH_8U, 1);
二、彩色图像的数据排列方式:
彩色图像有三个通道(B,G,R