OpenCV将彩色图像转化为灰度图代码

#include "highgui.h"
#include 
#include 

int main(int argc, char* argv[])
{

     const char* imagename = "lena.jpg"; 

     IplImage * img = cvLoadImage(imagename);
     if(!img)
     {
           fprintf(stderr, "Can not load image %s\n", imagename);
           return -1;
     }

     if( !img->imageData ) // 检查是否正确载入图像
           return -1;

     cvNamedWindow("image", CV_WINDOW_AUTOSIZE); //创建窗口
     cvShowImage("image", img); //显示图像

     IplImage* img1 = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);//创建目标图像
     cvCvtColor(img,img1,CV_BGR2GRAY);//cvCvtColor(src,des,CV_BGR2GRAY)
     cvNamedWindow("gray_image",CV_WINDOW_AUTOSIZE);//创建显示目标的窗口

     cvShowImage("gray_image",img1);//显示灰度图像

     cvWaitKey();

     cvReleaseImage(&img);
     cvReleaseImage(&img1);
     cvDestroyAllWindows();
     return 0;
}


运行结果:


你可能感兴趣的:(图形图像)