opencv处理灰度图时出现的问题
最近在对图片进行灰度化时,只用cvCvtColor(img,dst,CV_RGB2GRAY);时遇到类似这样的错误 Unsupported format or combination of formats(Unsupported combination of input/output formats)in function cvConvertImage,C:\User\VP\opencv\otherlibs\highguiutils.cpp(573)(这是一个弹出的提示框)但是如果在cvCvtColor(img,dst,CV_RGB2GRAY);后面加上cvCvtColor(dst,img,CV_GRAY2RGB)就可以运行。可是我需要的是灰度图,我需要在灰度图的基础上进行操作。
这块的主要代码如下:
IplImage* image= cvCreateImage( cvGetSize(lefteye), 8, 1 ); //创建灰度图
cvZero( image );
IplImage* left= cvCreateImage( cvGetSize(lefteye), 8, 3 ); //创建彩色图
cvZero( left );
cvCvtColor(lefteye, image, CV_BGR2GRAY); //色彩空间转换
cvCvtColor(image, left, CV_GRAY2BGR);
cvThreshold( left, left,45, 255, CV_THRESH_BINARY);
cvSmooth(left,left,CV_GAUSSIAN,3,0,0);//平滑操作
cvErode(left,left);//腐蚀操作
cvDilate(left, left);//膨胀操作
ShowImage(left,IDC_SHOWLEFT);//在后面的窗口中显示
其中lefteye是我传进来的图片,将cvCvtColor(image, left, CV_GRAY2BGR);屏蔽掉就出现上面的问题,加上就没有问题,麻烦看下,谢谢