1
在Matlab中,我创建了一个带有fspecial()
的5x5高斯内核。我将内核分配给一个名为h
的变量。我通过imread()
在图像中读取并将图像分配给一个名为Im
的变量。为什么conv2()返回一个白色图像而不是过滤图像?
图像上有一些随机噪声,我的意图是看我如何消除噪音。现在,我想要将图像Im
与内核h
进行卷积。我试图使用conv2()
这个功能:conv2(Im, h);
但事实证明,当我做imshow()
时,我得到一个空的白色图片。我预计结果是与内核h
卷积后的图像Im
的模糊版本。
这是我做过什么:
>> Im = imread('image.jpg');
>> h = fspecial('gaussian', 5, 1.0);
>> C1 = conv2(Im, h);
我试着用其他的图片相同的过程,我得到一个空的白色画面,当我做imshow()
了。我做错了什么?
试试'imagesc'。此外,Im和C1的内容如何? – 2013-03-12 14:40:05
@Hugues你的意思是'imagesc',对吧? – 2013-03-12 14:44:26
正确的功能是'imfilter'。有了'conv2',你可能需要考虑频道。 – 2013-03-12 14:45:03