【发布时间】:2014-03-01 12:49:05
【问题描述】:
所以我将高斯核应用于超声图像,由 0 到 255 范围内的整数值组成,如下所示
filteredImage = imfilter(image,kernel,'conv','same')
使用imshow(filteredImage) 我得到了一个非常模糊的图像:
然后,改为使用
convImage = conv2(image,kernel,'same')
我得到以下图像
这样使用这两个函数不应该产生相同的输出吗?
【问题讨论】:
-
检查你的数据类型和返回的数据类型。我猜你的图像是
uint8类型,imfilter的输出也是uint8,而conv2的输出是double,具有相同的值(大致)。尝试显示两个结果之间的差异... -
添加到 Shai 所说的内容,尝试类似
imshow(convImage./255) -
或尝试
imshow(convImage,[]),它将自动显示图像强度的最小值和最大值之间的强度。我认为您总是应该在 imshow 中添加括号。
标签: matlab image-processing convolution