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.

WRITE CODE

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

}

COMPILE

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

USAGE

./convert_grayscale re_dsc00056.jpg gray_dsc00056.jpg