图像处理 均衡化和规定化

*https://www.cnblogs.com/wangguchangqing/p/7098213.html
(完整原文入口)博主还写了其他关于图像处理的内容,很不错,推荐看看。

直方图均衡化 Histogram Equalization*
假如图像的灰度分布不均匀,其灰度分布集中在较窄的范围内,使图像的细节不够清晰,对比度较低。通常采用直方图均衡化及直方图规定化两种变换,使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的。
直方图均衡化,对图像进行非线性拉伸,重新分配图像的灰度值,使一定范围内图像的灰度值大致相等。这样,原来直方图中间的峰值部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较为平坦的直方图。

均衡化算法
直方图的均衡化实际也是一种灰度的变换过程,将当前的灰度分布通过一个变换函数,变换为范围更宽、灰度分布更均匀的图像。也就是将原图像的直方图修改为在整个灰度区间内大致均匀分布,因此扩大了图像的动态范围,增强图像的对比度。通常均衡化选择的变换函数是灰度的累积概率,直方图均衡化算法的步骤:

计算原图像的灰度直方图 P(Sk)=nkn,其中n为像素总数,nk为灰度级Sk的像素个数
计算原始图像的累积直方图 CDF(Sk)=∑i=0knin=∑i=0kPs(Si)
Dj=L⋅CDF(Si),其中 Dj是目的图像的像素,CDF(Si)是源图像灰度为i的累积分布,L是图像中最大灰度级(灰度图为255)
其代码实现如下:

在上面中封装了求灰度直方图的类,这里直接应用该方法得到图像的灰度直方图;
将灰度直方图进行归一化,计算灰度的累积概率;
创建灰度变化的查找表
应用查找表,将原图像变换为灰度均衡的图像

直方图规定化
从上面可以看出,直方图的均衡化自动的确定了变换函数,可以很方便的得到变换后的图像,但是在有些应用中这种自动的增强并不是最好的方法。有时候,需要图像具有某一特定的直方图形状(也就是灰度分布),而不是均匀分布的直方图,这时候可以使用直方图规定化。
直方图规定化,也叫做直方图匹配,用于将图像变换为某一特定的灰度分布,也就是其目的的灰度直方图是已知的。这其实和均衡化很类似,均衡化后的灰度直方图也是已知的,是一个均匀分布的直方图;而规定化后的直方图可以随意的指定,也就是在执行规定化操作时,首先要知道变换后的灰度直方图,这样才能确定变换函数。规定化操作能够有目的的增强某个灰度区间,相比于,均衡化操作,规定化多了一个输入,但是其变换后的结果也更灵活。

在理解了上述的均衡化过程后,直方图的规定化也较为简单。可以利用均衡化后的直方图作为一个中间过程,然后求取规定化的变换函数。具体步骤如下:

将原始图像的灰度直方图进行均衡化,得到一个变换函数s=T®,其中s是均衡化后的像素,r是原始像素
对规定的直方图进行均衡化,得到一个变换函数v=G(z),其中v是均衡化后的像素,z是规定化的像素
上面都是对同一图像的均衡化,其结果应该是相等的,s=v,且z=G−1(v)=G−1(T®)
通过,均衡化作为中间结果,将得到原始像素r和z规定化后像素之间的映射关系。

详解规定化过程
对图像进行直方图规定化操作,原始图像的直方图和以及规定化后的直方图是已知的。假设Pr®表示原始图像的灰度概率密度,Pz(z)表示规定化图像的灰度概率密度(r和z分别是原始图像的灰度级,规定化后图像的灰度级)。

对原始图像进行均衡化操作,则有sk=T(rk)=L⋅∑i=0i=kPr(rk)
对规定化的直方图进行均衡化操作,则vk=G(zm)=L⋅∑j=0j=mPz(zm)
由于是对同一图像的均衡化操作,所以有sk=vm。
规定化操作的目的就是找到原始图像的像素sk到规定化后图像像素的zk之间的一个映射。有了上一步的等式后,可以得到sk=G(zk),因此要想找到sk想对应的zk只需要在z进行迭代,找到使式子G(zm)−sk的绝对值最小即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值