cvFilter2D支持类型比较有限

在使用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支持类型比较有限》有2个想法

  1. 于老师好,最近在学opencv,看得是《opencv教程-基础篇》。还是有很多细节没有搞懂,能要一下您的邮箱之类的么

    祝新年快乐,工作顺利,合家欢乐

  2. cvFilter2D卷积后图像平移

    利用cvFilter2D做卷积运算后图像相对原图相左上角平移了具体大小和卷积核有关,请问于老师怎么解决这个问题,谢谢!

发表回复