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