图5 原图像(图3)的图像求反
3.1.3 图像增强
图像增强技术主要有空域法和频率法两种方式。空域法主要是基于图像的像素直接进行运算,如直方图均衡化、灰度线性变换等。频域法是基于图像频带宽的特点,利用频域信息将图像高频成分和低频成分分开,如同态滤波。本方案利用的是直方图均衡化来实现图像增强,以前来为后续处理做铺垫。
直方图是图像信息分布的重要表示方法,它是图像像素对图像灰度分布的密度函数。直方图均衡化方法是将原图像中的图像像素灰度分布进行某种函数变换,使其像素在0到255的灰度范围内均匀分布。使用直方图均衡化方法处理过的图像具有最大量的图像灰度信息,也就是说,图像会变得更加清晰,更适合于人眼分辨。
直方图均衡化处理的“中心思想”就是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。这是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同的一个过程。较为直接的理解就是将直方图变为峰值较为平均的直方图。
灰度直方图的计算很简单,依据定义,若图像具有L(通常L=256,即8位灰度级)级灰度,则大小为M×N的灰度图像f(x,y)的灰度直方图hist[0…L-1]可用如下计算获得:
初始化 hist[k]=0,k=0,…,L-1;
统计 hist[f(x,y)]++; x,y=0,…,M-1,0,…,N-1;
标准化 hist[f(x,y)]= M×N。
直方图均衡化采用histeq命令,同时,均衡化必须满足两个条件,(1)不能打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。(2)保证变换前后灰度值动态范围的一致性。
图6 灰度图像(之后的图像处理均以此图作为原图)
图7 灰度直方图
图8 均衡后的图像
图9 直方图均衡化
3.1.4 图像平滑
在灰度连续变化的图像中, 如果出现了与相邻象素的灰度相差很大的点,比如说一片暗区中突然出现了一个亮点,,或者一片亮区中突然出现了一个暗点,人眼能很容易觉察到。要对这种情况进行处理,提高图像质量,就要采用图像平滑技术,使图像亮度平缓渐变,减小突变梯度,当然,这属于领域处理的范畴。
对图像进行平滑处理的方法有很多,例如:中值滤波、均值滤波等。
(1)中值滤波
中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。中值滤波首先被提出并用于一文信号处理中,后来被引入到图像处理中,这种滤波的优点是运算简单、速度快、易十实现。
中值滤波的主要思想是使用一个模板在图像上平滑移动,模板中心点对应每一个待处理的像素点,对该模板窗口中的所有像素按灰度值进行从小到大排序,取排在中间位置上的数据为待处理像素的最终像素值。一般,选取3×3或5×5模板。由于中值滤波选取模板排序后的中间值为处理结果,当出现一个较暗或较亮(在矩阵中显示为极大或者极小的值)的噪声时,就会在排序过程中被排在数据序列的最右侧或最左侧,因此,最终选择的数据序列中间位置上的值一般不是噪声点的值,因此可以达到抑制噪声的目的。
MATLAB中使用命令B=medfilt2(A,[m n]);(B表示中值滤波后的图像,A表示原图像,[m n]表示m行n列大小的滤波器,MATLAB中默认是3×3的滤波器)。二文中值滤波输出:
g(x,y)=Med{f(x-k,y-1),(k,1∈W)} (3.3) MATLAB图像处理的钢材表面裂纹检测系统设计(7):http://www.751com.cn/zidonghua/lunwen_3272.html