(一) 邻域平均法
邻域平均法是简单的空域处理方法。这种方法的基本思想是用几个像素的灰度的平均值来代替每个像素的灰度[9]。
将原图中每一个像素的灰度值和它周围邻近8个像素的灰度值相加,然后将求得的平均值(除以9)作为新图中该像素的灰度值。它采用模板计算的思想,模板操作实现了一种邻域计算,即某个像素点的结果不仅与本像素灰度有关,而且与其邻域点的像素值有关。模板运算在数学中的描述就是卷积运算,邻域平均法可以用数学公式表达。
设 为给定的含有噪声的图像,经过邻域平均处理后的图像为 ,则两者关系可用公式(3-1)表示:
(3-1)
M是所取邻域中各邻近像素的坐标,是邻域中包含的邻近像素的个数。
邻域平均处理方法是以图像模糊为代价来减小噪声的,且模板尺寸越大,噪声减小的效果越显著。如果 是噪点,其邻近像素灰度与之相差很大,采用邻域平均法就使用邻近像素的平均值来代替它,这样能明显削弱噪声点,使邻域中灰度接近均匀,起到平滑灰度的作用,因此,邻域平均法具有良好的噪声平滑效果,是最简单的一种平滑方法。
(二) 选择平均法
选择平均法是以邻域平均法为基础的。唯一的区别就是它只平均那些灰度值相同或者相近的像素点,根据灰度的特殊程度加权之后求和,以此避免造成特征边缘的不清晰。
(三) 中值滤波法
中值滤波是一种非线性平滑滤波,在一定条件下可以克服线性滤波如平均值滤波等所带来的图像细节模糊问题,而且对过滤脉冲干扰及图像扫描噪声非常有效。
设有一个一文序列f1,f2,…,fn,取窗口长度(点数)为m(m为奇数),对其进行中值滤波,就是从输入序列中相继抽出m个数 fi-v,…,fi-1,fi,fi+1,…,fi+v(其中fi为窗口中心值,v=(m-1)/2),再将这m个点按其数值大小顺序排序,取其序号的中心点的那个数作为滤波输出。数学公式表示为式(3-2):
Yi=Med{fi-v,…,fi-1,fi,fi+1,…,fi+v} i∈N v=(m-1)/2 (3-2)
Yi称为序列fi-v,…,fi-1,fi,fi+1,…,fi+v的中值
中值滤波也就是用一个有奇数点的滑动窗口,将窗口中心点的值用窗口各点的中值代替。
具体操作步骤为:
1)将模板在图中漫游,并将模板中心与图中某个像素位置重合。
2)读取模板下各对应像素的灰度值。
3)将这些灰度值从小到大排成1列。
4)找出这些值里排在中间的一个。
5)将这个中间值赋给对应模板中心位置的像素。
MATLAB调用中值函数为:B=medfilt2(A,[m,n]),式中A为输入图像,B为输出图像。m.n表示采用滤波板的大小。
平均值滤波会削弱图像边缘信息,使得区域边界模糊,当噪声以孤立点形式出现,也即主要为椒盐噪声,同时噪音点对应像素少,而图像特征部分像素多的情况下中值滤波法可以保护图像边缘的同时去除噪声,采用中值滤波法最合适。
因此本系统采用中值滤波法进行裂缝图像的平滑。
程序如下:
i=imread('crack1.bmp');
imshow(i);
k1=medfilt2(i,[3,3]); %对灰度图像3*3滤波
k2=medfilt2(i,[5,5]); %对灰度图像5*5滤波
k3=medfilt2(i,[7,7]); %对灰度图像7*7滤波
- 上一篇:时滞区间系统PID控制器设计研究+文献综述
- 下一篇:雷达测距信号的RAM实现+源代码
-
-
-
-
-
-
-
乳业同业并购式全产业链...
当代大学生慈善意识研究+文献综述
河岸冲刷和泥沙淤积的监测国内外研究现状
java+mysql车辆管理系统的设计+源代码
中考体育项目与体育教学合理结合的研究
大众媒体对公共政策制定的影响
十二层带中心支撑钢结构...
杂拟谷盗体内共生菌沃尔...
酸性水汽提装置总汽提塔设计+CAD图纸
电站锅炉暖风器设计任务书