【发布时间】:2014-05-27 10:15:33
【问题描述】:
我编写了一段代码here 来将图像与给定内核进行卷积。根据我在页面底部收到的建议,与使用 conv2 函数时相比,我设法获得了 [几乎] 完全相同的图片。几乎我的意思是imshow 显示的图像看起来相同,但输出图片中的值略有不同。但是,当我将高斯核与图像进行卷积时,情况会变得更糟。然后我自己和 conv2 函数的输出相差很大!这是为什么?你能告诉我我的代码有什么问题吗?
原来我做错了。我对 imageFilter() 做了一些修改,但直到现在才注意到它们存在两天!
可以看到imageFilter()代码here。
gaussKernel = fspecial('gaussian', 3, 2);
testImage1 = imageFilter(image, gaussKernel);
testImage2 = conv2(image, gaussKernel);
谢谢
【问题讨论】:
-
什么是
imageFilter? -
另外,“差异很大”不是一个有用的描述。请提供一个具体的例子。
-
你说的外图,是指朝向外边缘的像素,比如函数的支持与边缘重叠的像素吗?另外,与您的问题无关,但是对于 2 的 sigma,您的支持似乎很小。
-
裁剪上下三行和左右三列,图片还会有差异吗?
-
原来我做错了。我对 imageFilter() 做了一些修改,但直到现在才注意到它们存在两天!
标签: matlab image-processing computer-vision mask convolution