这两天都在用opencv进行开发,这的确是个好东西,可惜问题多多。特别是一些很简单的问题,如果没有指点就麻烦大了。我现在将使用过程的一些小问题提一提,希望可以对同时在使用的朋友有些帮助。我的email:juwen.zhong#gmail.com,欢迎大家交流使用过程中产生的问题。
 
下面的两个问题编译过程中可以顺利通过,运行时提示错误。
 
使用cvCvtColor将RGB图像转换为灰度图 时提示
bad number of channels
 
注意这里,灰度只有单通道,原图是三通道的,所以目标的定义要定义成单通道才行。
 img2=cvCreateImage(cvSize(Width,Height),8,1);
上面的问题应该比较容易不小心产生的。
 
第二个问题就是:
 
Unsupported format or combination of formats (Unsupport combination of inpupt/output formats) in function cvConvertImage, \highgui\utils.cpp(573)
 
这个问题困扰了我很长时间,找了很多资料也没有说是什么问题,但有了上面的经验后,我认为是opencv的中输出图像到mfc时需要转化为RGB图像,不能单纯的使用灰度图。
于是我测试了一下,先用cvCvtColor将灰度图转换为RGB,这里要注意了,输入是单通道,输出是否通道。
然后再输出到MFC,结果是可以的。