1

我正在尝试使用 cvfilter2d 应用图像过滤器

    cvmSet(kernel,0,0,5);
    cvmSet(kernel,0,1,5);
    cvmSet(kernel,0,2,5);   
    cvmSet(kernel,1,0,-3);
    cvmSet(kernel,1,1,0);
    cvmSet(kernel,1,2,-3);
    cvmSet(kernel,2,0,-3);
    cvmSet(kernel,2,1,-3);
    cvmSet(kernel,2,2,-3);

然后我应用这个

cvFilter2D(imgMedia,imgRestitucion , kernel, cvPoint(-1,-1) );

但我的结果是黑色图像...我该怎么办?有什么选择吗?

提前致谢。

4

1 回答 1

0

最后我找到了解决方案。

您所要做的就是使用 cvRealScalar 数字初始化内核。

for(int y=0;y<9;y++) {
    for(int x=0; x<9; x++) {
        cvSet2D(kernel,x,y,cvRealScalar(-0.00132704 ));
    }
}

然后您可以将图像过滤器应用于 ker,当您使用 cvFilter2D 时,您不会得到黑色图像。

于 2012-09-24T08:25:15.183 回答