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。