OpenCV学习之图像操作

1. 图像创建

图像创建使用cvCreateImage,函数原型如下:

IplImage * cvCreateImage( CvSize size, int depth, int channels );

depth就是介绍图像数据类型时说的图像像素类型,channels为图像通道数量。


2. 图像释放

图像释放使用cvReleaseImage函数,函数原型如下:

void cvReleaseImage( IplImage ** image );


3. 图像加载

图像加载使用cvLoadImage,函数原型如下:

IplImage* cvLoadImage( const char* filename, int iscolor );

cvLoadImage并不分析扩展名,而是通过分析图像文件头部来确定图像编码格式。第二个参数有如下几种选择:

CV_LOAD_IMAGE_UNCHANGED:不经任何修改的读入图像。

CV_LOAD_IMAGE_GRAYSCALE:不管原始图像是几通道的,都将被转换成单通道读入。

CV_LOAD_IMAGE_COLOR:默认值,不管原图像是几通道的,都将被转换成3通道读入。

CV_LOAD_IMAGE_ANYDEPTH:位数与原图像保持一致。

CV_LOAD_IMAGE_ANYCOLOR:保持原始通道数读入。

当cvLoadImage读入失败,并不会产生运行时错误,只是返回一个空指针。


4. 图像保存

图像保存使用cvSaveImage,函数原型如下:

int cvSaveImage( const char* filename, const CvArr* arr, const int* _params );

图像保存是以文件名的后缀来确定图像的编码格式,只能存储8位单通道和8位3通道图像。成功返回1,失败返回0。

posted @ 2012-04-12 13:36  移动应用开发  阅读(238)  评论(0编辑  收藏  举报