图像增强相关算法介绍 ------ 1

1、关于增强的理解

图像增强是为了强调图像中的某些信息,加强图像整体或局部特征。常用的方法有:统计正方图增强、图像平滑锐化等。按照实现的方式不同可以分为:空间域增强和频率域增强。频域处理是对图像的部分频率成分进行剔除(滤波)从而实现平滑或者锐化。空域处理是直接对图像数据处理,比如灰度变换和直方图变换等。

1.1 频域
原图像为I(x,y),二位离散傅里叶变换可表示为:

F ( u , v ) = 1 M N x = 0 M 1 y = 0 N 1 f ( x , y ) e j 2 π ( u x / M + v y / N )

经过系统函数 H ( u , v ) 的变换可以得到一个新的频率函数 K ( u , v ) :
K ( u , v ) = H ( u , v ) F ( u , v )
I ( x , y ) = F 1 [ K ( u , v ) ]

低频分量在视觉上为平滑部分,高频分量在视觉上为边缘部分,不同的分量处理得到不同的视觉效果。

1.2 空域
直接对图像的二维矩阵数据进行处理操作,如直接的灰度变换,阈值等。直方图处理是根据图像的数据得到图像数据的分布信息,由此信息我们可以对图像重新赋值,得到均匀分布的图片。
图片中某一位置的信息一般只与该位置附近的像素点有关,而距离较远的点对其影响不大。所以通常情况下会采用领域的操作实现图像的一些处理,邻域大小通常为3*3 或者 5*5 。比如中值滤波,比如Sobel算子,Canny算子,Laplacian算子等离散差分法。

2 几种 增强方法

1、对数变换
对数变换可以把图像中较暗的像素变大,用于扩展图像中较暗的像素值。其形式如:

f ( x ) = k log ( x m i n + 1 )

k是一个常数,保证计算得到的数值不大于255.
k = 255 l o g ( m a x m i n + 1 )
比如考试成绩取对数,应该有同学深有感触。

2、伽马校正
由于图像的显示和打印装置的响应函数大多是幂函数形式,所以可以对输入图像进行幂变换,使图像同入射光强相等或成正比。因为涉及到成像效果,从摄影、建筑的角度来分析就是18度灰才是中灰度。算法的实现我们看一个例子,假设像素值为100的一个点:
1、归一化:将像素值投射到0-1之间的实数中,

( i + 0.5 ) / 256 | i = 100 = 0.392578125

2、补偿:假设伽马值为2.2 ,则 1 g a m a = 0.454545454 ,则像素的补偿结果为:
f 1 g a m a | f = 0.392578125 = 0.65379

3、映射回图像:
( g 256 0.5 ) | g = 0.65379 = 166.87
取值为166.其中的运算量不小,实际中可采用查表的方式。

3、灰度直方图
直方图是一个统计数据,变现为图像中灰度值出现的概率,假设一副640*480的图像,其中灰度值为100的像素点为1240个,那么灰度值100 出现的概率为:1240 /(640*480).把每一个像素值出现的次数都统计出来,就得到了各个值对应的概率。在这里加入一点概率分布和概率密度函数的记录,方便查阅。设离散型随机变量X的分布律为:

P { X = X k } = p k
F ( x ) = P ( X x ) = x k x P k

这里的F(x)就是概率分布函数了。接下来在看看概率密度函数,书上说:

“密度函数”这个名词的来由可以解释如下,取定一个点x,则按分布函数的定义,事件 | x < X x + h | 的概率(h>0 为常数),应为F(x + h) - F(x),所以,比值[F(x+h) - F(x)]/h可以解释为在x点附近h这么长的区间(x,x+h)内,单位长所占有的概率。令 h -> 0,则这个比的极限,即 F ( x ) = f ( x ) ,也就是在x点处(无穷小区段内)单位长的概率,或者说,它反映了概率在x点处的“密集程度“。你可以设想一条极细的无穷长的金属杆,总质量为1,概率密度相当于杆上个点的质量密度。

P ( a x b ) = F ( b ) F ( a ) = a b f ( x ) d x

这里写图片描述
图为连续型随机变量的分布函数和概率密度函数,由概率密度函数我们可以清晰的知道那些位置的概率要大一些。
在直方图均衡中我们需要的是概率分布函数。假设图像中最大的像素值为124,那么概率分布函数:
F ( x 124 ) = 1
我们将计算得到的概率分布函数重新映射到0-255.例如这里的124 就映射为255.

4、图像平滑
最常用的是邻域平均法

f ¯ ( x , y ) = 1 M ( s , y ) S f ( x , y )
这种方法平滑掉噪声的同是也平滑了图像信息。一般通过加权算子对图像领域进行平滑
1 5 | 0 1 0 1 1 1 0 1 0 | 1 10 | 1 1 1 1 2 1 1 1 1 | 1 16 | 1 2 1 2 4 2 1 2 1 |

还有几何均值:

f ¯ ( x , y ) = [ ( x , y ) S f ( x , y ) ] 1 n m

和逆谐波均值:
f ¯ ( x , y ) = ( x , y ) S f ( x , y ) q + 1 ( x , y ) S f ( x , y ) q

中值滤波
对于邻域内的像素按大小排列,比如3*3的核,9个数按大小排列,我们取第5个数。
5、图像锐化
图像平滑会带来图像边缘模糊,一般是由平均和积分造成的,我们可以使用 梯度锐化对于图像f(x,y),他在(x,y)处的梯度可表示为:
G [ f ( x , y ) ] = [ ( f x ) 2 + ( f y ) 2 ] 1 / 2

离散图像可表示为:
R [ f ( x , y ) ] = { [ f ( x , y ) f ( x 1 , y ) ] 2 + [ f ( x , y ) f ( x , y 1 ) ] 2 } 1 / 2

图像的第一行和第一列一般用后一行或者后一列的梯度近似。
二阶微分-拉普拉斯算子
2 f = ( 2 f x 2 ) + ( 2 f y 2 )

拉普拉斯算子是n维欧几里德空间二阶微分算子,定义为梯度的散度。离散函数的二阶微分退化成
2 f x 2 = f ( x + 1 , y ) + f ( x 1 , y ) 2 f ( x , y )

2 f y 2 = f ( x , y + 1 ) + f ( x , y 1 ) 2 f ( x , y )

2 f = f ( x + 1 , y ) + f ( x 1 , y ) + f ( x , y + 1 ) + f ( x , y 1 ) 4 f ( x , y )

写成filter mask的形式就是
[ 0 1 0 1 4 1 0 1 0 ]

这个矩阵90°方向上无方向性,为了让45°方向上也没有方向性,矩阵修改为:
[ 1 1 1 1 8 1 1 1 1 ]

由二阶微分算子得到的图像只是强调灰度不连续的部分,也就是边缘信息。背景特征可以由原图和拉普拉斯计算后的图混合得到:
g ( x , y ) = f ( x , y ) + λ [ 2 f ( x , y ) ]

这里因为拉普拉斯算子中心为负数,我们的 λ 取1。
参考:
1、 https://blog.csdn.net/u013625961/article/details/54375010
2、《基于Retinex理论的图像增强恢复算法研究》
3、 https://www.cnblogs.com/german-iris/p/4840647.html

猜你喜欢

转载自blog.csdn.net/Chi_Hong/article/details/82711466