在使用OpenCV中的cvFilter2D函数的时候,
发现对8S, 16S, 64F都类型的图像/矩阵操作时,输出错误:
OpenCV ERROR: Unsupported format or combination of formats () in function cvFilter2D, cvconvolve.cpp(722)
然后阅读OpenCV源代码,在cv/src/cvconvolve.cpp发现函数
static void icvInitFilterTab( CvFuncTable* tab ) { tab->fn_2d[CV_8U> = (void*)icvFilter_8u_CnR; tab->fn_2d[CV_16U> = (void*)icvFilter_16u_CnR; tab->fn_2d[CV_32F> = (void*)icvFilter_32f_CnR; }
这说明cvFilter2D函数只支持8U, 16U, 32F三种数据类型,
检查OpenCV CVS里的源代码,依然只有这三种数据结构。
祝新年快乐,工作顺利,合家欢乐
利用cvFilter2D做卷积运算后图像相对原图相左上角平移了具体大小和卷积核有关,请问于老师怎么解决这个问题,谢谢!