I = imread('./Img/ball.jpg');
I = rgb2gray(I);
noiseI=imnoise(I,'salt & pepper',0.1);
newI = PM(noiseI,5);
subplot(131),imshow(I),title('原图');
subplot(132),imshow(noiseI),title('椒盐噪声');
subplot(133),imshow(newI),title('基于模糊技术的平滑滤波');
function newI = PM(I,N)
[m, n] = size(I);
I = double(I);
newI = I;
sNum=N^2-1;
N=(N-1)/2;
for i = 1+N : m-N
for j = 1+N : n-N
newI(i,j)=result(I,i,j,N,sNum);
end
end
newI = uint8(newI);
end
function pix=result(I,i,j,N,sNum)
sum=0;
for m=i-N:i+N
for n=j-N:j+N
d=(I(i,j)-I(m,n))^2;
sum=sum+d;
end
end
beta=sum/sNum;
sum2=0;
sum3=0;
for m=i-N:i+N
for n=j-N:j+N
d=(I(i,j)-I(m,n))^2;
mu=exp(-d/beta);
sum2=sum2+mu/beta*I(m,n);
sum3=sum3+mu/beta;
end
end
pix=sum2/sum3;
end
基于模糊技术的平滑滤波
于 2023-11-17 14:11:23 首次发布