#include "stdafx.h"
#include "highgui.h"
#include "cv.h"
#include <cvaux.h>
int main(int argc, char *argv[])
{
const char * filename = "lena.jpg";
// Matlab风格的cvLoadImage 函数的另一种调用
IplImage *img = cvLoadImage(filename,1);
if(!img)//载入失败
{
fprintf(stderr,"Can not load image %s /n",filename);
return -1;
}
if(!img->imageData)//载入的图像数据是否正确
{
return -1;
}
cvNamedWindow("image",CV_WINDOW_AUTOSIZE );//创建窗口,窗口名字为image
cvShowImage("image",img);//在刚创建的image窗口中载入图像
//创建一个与img相同大小的图像img1
IplImage *img1 = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
//色彩空间转换,将源彩色图像img转化成目标灰色图像imag1
cvCvtColor(img,img1,CV_BGR2GRAY); //关键
cvNamedWindow("GrayImage",CV_WINDOW_AUTOSIZE);//创建窗口,窗口名字GrayImage
cvShowImage("GrayImage",img1);//载入转化后的图像
cvSaveImage("/lena_gray.jpg",img1,0);
cvWaitKey(0);
cvReleaseImage(&img);
cvReleaseImage(&img1);
cvDestroyAllWindows( );
return 0;
}