<span style="font-family: Arial, Helvetica, sans-serif;">#include <stdlib.h></span>
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h> // 一般不需要cv.h内已包含该头文件
int main()
{
IplImage* img = 0;
// 把图像导入到程序中,存放到img中
img=cvLoadImage("lena.jpg");//支持的图像格式: BMP, DIB, JPEG, JPG, JPE, PNG, PBM, PGM, PPM,
//SR, RAS, TIFF, TIF
if(!img)//如果无法导入,输出错误信息
printf("Could not load image file: %s\n","lena.jpg");
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
cvMoveWindow("mainWin", 100, 100);
/*OpenCV默认将读入的图像强制转换为一幅三通道彩色图像. 不过可以按以下方法修改读入方式:
img=cvLoadImage(fileName,flag);
flag: >0 将读入的图像强制转换为一幅三通道彩色图像
=0 将读入的图像强制转换为一幅单通道灰度图像
<0 读入的图像通道数与所读入的文件相同.*/
IplImage* img2=cvLoadImage("lena.jpg",0);
cvNamedWindow("mainWin2", CV_WINDOW_AUTOSIZE);
cvMoveWindow("mainWin2", 500, 100);
cvShowImage("mainWin", img );
cvShowImage("mainWin2",img2);
if(!cvSaveImage("F:\\灰度图.jpg",img2)) printf("Could not save: %s\n", img2);//保存图像
/*
在保存图像的时间要注意cvSaveImage( ,)的第一个参数要写具体的路径,并且确保文件夹存在,如果没有该路径会报错。
*/
cvWaitKey(0);
cvDestroyWindow("mainWin");
cvDestroyWindow("mainWin2");
cvReleaseImage(&img );
cvReleaseImage(&img2);
return 0;
}
直接上代码,对保存的基础性使用。