一、超限像素平滑法
I=imread('m3.png');
I=rgb2gray(I);
subplot(2,2,1),imshow(I);
[m,n]=size(I);
l=3;%
模版尺寸
L=ones(l);%l*l
模版
S=ones(m-l+1,n-l+1);
for i=1:m-l+1
for j=1:n-l+1
S(i,j)=1/(l*l)*sum(sum(I(i:i+l-1,j:j+l-1)));%
求平均
end
end
subplot(2,2,2),imshow(S,[]);
P=imnoise(I,'salt & pepper',0.05);%
加入椒盐躁声
subplot(2,2,3),imshow(P);
T=30;%
设置阈值
A=P;
for i=1:m-2
for j=1:n-2
if (abs(P(i,j)-S(i,j))>T)
A(i,j)=P(i,j);
else
A(i,j)=S(i,j);
end
end
end
subplot(2,2,4),imshow(A);
思路:获取原始图像的灰度图与大小
(m,n)
,假设一个方阵模版和
(m-1,n-1)
的矩阵,将方阵在图像上移动,每移动一次进行一次方阵大小范围内的平
均值运算,得到由平均值组成的矩阵
S
,引入椒盐噪声函数,设定滤波阈
值
T
,当灰度值与平均值的差大于阈值时,该点像素值保持不变,否则,
取平均值。
程序结果: