cvSaveImage函数
- 用途:保存图像到指定文件
- 用法:
int cvSaveImage( const char* filename, const CvArr* image );
参数含义:filename 为文件名,图像格式的依赖于filename的扩展名。
image为要保存的图像
只有8位单通道或者3通道(通道顺序为’BGR’ )可以使用这个函数保存。如果格式,深度或者通道不符合要求,请先用cvCvtScale 和cvCvtColor转换;或者使用通用的cvSave保存图像为XML或者YAML格式。
cvLoadImage函数
- 用途:按照要求读入相应格式的图像文件
- 函数原型:
IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR ); - 参数含义:
- filename :要被读入的文件的路径以及,文件名(包括后缀)
- flags :指定读入图像的颜色和深度:
三种参数:CV_LOAD_IMAGE_COLOR 载入三通道的彩色图像
CV_LOAD_IMAGE_GRAYSCALE 载入单通道的灰度图像,
CV_LOAD_IMAGE_ANYCOLOR 保持不变载入源图像
在实际使用时候可以用0取代CV_LOAD_IMAGE_GRAYSCALE ,
-1可以取代CV_LOAD_IMAGE_ANYCOLOR ,1代替CV_LOAD_IMAGE_COLOR,方便输入。
cvNamedWindow函数
- 用途:函数cvNamedWindow定义一个窗口,用于显示图像。
- 函数原型如下:
int cvNamedWindow( const char* name, unsigned long flags );
其中,name是窗口名,flags是窗口属性指标值,可以选择CV_WINDOW_AUTOSIZE和0两种值。CV_WINDOW_AUTOSIZE表示窗口尺寸与图像原始尺寸相同,0表示以固定的窗口尺寸显示图像。
cvShowImage
- 用途在指定的窗口中显示图像,
- 其函数原型如下:
void cvShowImage( const char* name, const CvArr* image );
其中,name是窗口名称,image是图像类型指针,一般是IplImage指针。
cvCvtColor函数
- 用途颜色空间转换函数,实现RGB颜色向HSV,HSI等颜色空间的转换,也可以转换为灰度图像。
- 函数原形:void cvCvtColor( const CvArr* src, CvArr* dst, int code );
参数含义:
- src:输入的 8-bit,16-bit或 32-bit单倍精度浮点数影像。
- dst:输出的8-bit, 16-bit或 32-bit单倍精度浮点数影像。
- code:色彩空间转换的模式。比如CV_BGR2GRAY表示转换为灰度图,CV_BGR2HSV将图片从RGB空间转换为HSV空间。其中当code选用CV_BGR2GRAY时,dst需要是单通道图片。当code选用CV_BGR2HSV时,对于8位图,需要将rgb值归一化到0-1之间。这样得到HSV图中的H范围才是0-360,S和V的范围是0-1。
cvCvtScale函数
- 用途:线性变化转换数组
- cvConvertScale( const CvArr* src, CvArr* dst,double scale CV_DEFAULT(1),double shift CV_DEFAULT(0) );
- src:源图像,即待转换的图像
- dst:目标图像,即按要求转换后的图像
- scale:比例因子.
- shift:加到输入数组元素按比例缩放后得到的元素上
- 函数原理:首先对输入数组的元素进行比例缩放,然后将shift加到比例缩放后得到的各元素上,即: dst(I)=src(I)*scale + (shift,shift,…)。