opencv彩色图像转灰度图像
#include "highgui.h" #include "cv.h" #include <cvaux.h> int main(int argc, char *argv[]) { const char * filename = "E:\\111.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("E:\\111_gray.jpg",img1,0); cvWaitKey(0); cvReleaseImage(&img); cvReleaseImage(&img1); cvDestroyAllWindows( ); return 0; }