【发布时间】:2015-07-12 20:47:49
【问题描述】:
我已经通过在堆栈上搜索完成了这个问题,但我在这里问我以前所做的和我现在所做的工作之间有什么区别。
所以我们有一个任务,我们应该实现一个均值滤波器,我的方法是首先将图像转换为mxn 格式 (x),然后创建某种顺序的过滤矩阵(h),例如3x3。然后我继续对 x 和 h 进行卷积以将过滤器应用于图像,但这不起作用,我想知道原因。
cmets 中的代码是我实现但没有工作的代码,其余代码工作。顺便说一句,我这里使用的图像是 windows 7 中的考拉图像。
color = imread('Koala.jpg');
grey = rgb2gray(color);
figure
imshow(grey)
h = fspecial('average',5);
I = imfilter(grey, h);
figure
imshow(I)
% result = conv2(grey,h);
% figure
% imshow(result)
那么为什么conv2 不起作用而imfilter 起作用?作业的要求是使用fspecial 和h 和conv2 来实现过滤器,使用conv2 方法,我得到的只是在某些点上带有黑色斑点的白色图像。
【问题讨论】:
标签: matlab image-processing filtering