Matlab中值滤波去噪
程序员文章站
2024-03-18 14:36:52
...
以灰度图像eight.tif为例,向原始图像中加入椒盐噪声,再对噪声图像调用中值滤波函数midfilt进行去噪。
I=imread('eight.tif');
J=imnoise(I,'salt & pepper');
after=midfilt(J,3);
subplot(1,3,1);
imshow(I);
subplot(1,3,2);
imshow(J);
subplot(1,3,3);
imshow(after);
function d=midfilt(x, n)
[M,N]=size(x);
x1=x;
x2=x1;
for i=1:M-n+1
for j=1:N-n+1
c=x1(i:i+n-1,j:j+n-1);
e=c(1,:);
for k=2:n
e=[e,c(k,:)];
end
x2(i+(n-1)/2,j+(n-1)/2)=median(e);
end
end
d=x2;
上一篇: C语言实现FIFO算法与LRU算法