OpenCV color to grayscale conversion program

To covert color image to a gray scale has never been easier with OpenCV. Here is a small C++ program that does conversion from color image to a grayscale.


#include <iostream>
#include "cv.h"
#include "highgui.h"

using namespace std;

int main( int argc, char** argv )

//load color image specified by first argument
IplImage *source = cvLoadImage( argv[1]);

// create new image structure 
// for the grayscale output image
IplImage *destination = cvCreateImage( 
cvSize( source->width, source->height ), IPL_DEPTH_8U, 1 );

// set type CV_RGB2GRAY to convert 
// RGB image to grayscale 
cvCvtColor( source, destination, CV_RGB2GRAY );

// save grayscale image to a file specified by 
// second argument
cvSaveImage( argv[2], destination );
return 0;



g++ `pkg-config opencv --cflags --libs` convert_grayscale.cpp -o convert_grayscale


./convert_grayscale re_dsc00056.jpg gray_dsc00056.jpg