我写过3x3的平均滤波器。它工作正常,但它显示三次相同的输出图像,而不是一个。如何解决问题?平均滤波器Matlab
的代码是提前
function [filtr_image] = avgFilter(noisy_image)
[x,y] = size(noisy_image);
filtr_image = zeros(x,y);
for i = 2:x-1
for j =2:y-1
sum = 0;
for k = i-1:i+1
for l = j-1:j+1
sum = sum+noisy_image(k,l);
end
end
filtr_image(i,j) = sum/9.0;
filtr_image = uint8(filtr_image);
end
end
end
感谢
http://stackoverflow.com/questions/13445334/3x3-average-filter-in-matlab?rq=1 – dasdingonesin
是您的图像**颜色**或**灰度**?此代码假定您的图像是灰度。 – rayryeng