OpenCV图像灰度化

OpenCV图像灰度化

#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;

}

你可能感兴趣的:(image,matlab)