
I = [1 2 1 4 3 ;
1 10 2 3 4 ;
5 2 6 8 8;
5 5 7 0 8;
5 6 7 8 9];
x=double(I);
x1=x;
for i=2:4
for j=2:4
c=x(i-1:i+1,j-1:j+1); %取出3x3邻域
c=[ c(1,:) c(2,:) c(3,:)]; %整理成一行
m=median(c); %mm是中值
x1(i,j)=m; %中值赋给中心元素
end
end
x1
%为了计算边缘像素,将原图像扩展为6x6填充0
I = [0 0 0 0 0 0 0;
0 1 2 1 4 3 0;
0 1 10 2 3 4 0;
0 5 2 6 8 8 0;
0 5 5 7 0 8 0;
0 5 6 7 8 9 0;
0 0 0 0 0 0 0 ];
x=double(I);
%加权均值滤波3x3模板
a = [ 1 1 1;1 2 1; 1 1 1]/10;
for i=2:5
for j=2:5
c=x(i-1:i+1,j-1:j+1)a; %与模板相乘
x2(i,j)=sum(sum(c))/9; %计算均值并赋值给像素(i,j)
end
end
x2 = x2(2:5,2:5)均值滤波:是把每个像素都用周围的8个像素来做均值 *** 作,幅值近似相等且随机分布在不同位置上,这样可以平滑图像,速度较快,算法简单。但是无法去掉噪声,只能微弱的减弱它。中值滤波:常用的非线性滤波方法 ,也是图像处理技术中最常用的预处理技术。它在平滑脉冲噪声方面非常有效,同时它可以保护图像尖锐的边缘,选择适当的点来替代污染点的值,所以处理效果好。其中加权中值滤波能够改进中值滤波的边缘信号,使其良好保持效果。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)