I have a program which uses OpenCV. I have a webcam and it captures color frames and I want to convert the color frames to gray-scale frames. So, I used the cvCvtColor(color_frame, gray_frame, CV_BGR2GRAY);
to convert the color frames to BW frames.
Upon using this color->Grayscale conversion function, I get a runtime error as:
OpenCV Error: Null pointer (NULL array pointer is passed) in unknown function, file ..\..\..\..\ocv\opencv\src\cxcore\cxarray.cpp, line 2376
Anyone experienced this problem before? Any solutions how to fix this?
Thanks
My Program
#include #include #include #include #include"cv.h" #include"highgui.h" #include"cxtypes.h" #define ERROR -1 #define NO_ERROR 1 int main() { int EXIT_STATUS = NO_ERROR; int camera_index = 0; CvCapture *capture = 0; IplImage *color_frame = NULL; IplImage *gray_frame = NULL; int exit_key_press = 0; capture = cvCaptureFromCAM(camera_index); cvNamedWindow("SURF", CV_WINDOW_AUTOSIZE); while(exit_key_press != 's') { /* Capture a frame */ color_frame = cvQueryFrame(capture); if(color_frame == NULL) { break; } else { // When this line is enabled the runtime error occurs. //cvCvtColor(color_frame, gray_frame, CV_BGR2GRAY); cvShowImage("SURF", color_frame ); } exit_key_press = cvWaitKey(1); } cvDestroyWindow("Output"); cvReleaseCapture(&capture); printf("\n\n~*~The END~*~"); exit(EXIT_STATUS); }