数字图像处理_直方图均衡化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图像变换是数字图像处理中的一种综合变换,如直方图变换。
使用C语言对位图文件的头信息进行读取,从而对图像进行直方图均衡化处理和灰度变换。
直方图均衡化
大多数原始的遥感图像由于其灰度分布集中在较窄的范围内,使图像的细节不够清晰,对比度较低。
为了使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的,通常采用直方图均衡化及直方图规定化两种变换。
本文主要介绍直方图均衡化并进行实验。
直方图均衡化的概念
直方图均衡化(Histogram Equalization)又称直方图平坦化,实质上是对图像进行非线性拉伸,重新分配图像象元值,使一定灰度范围内象元值的数量大致相等。
这样,原来直方图中间的峰顶部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较平的分段直方图:如果输出数据分段值较小的话,会产生粗略分类的视觉效果。
直方图均衡化理论
假设灰度级为归一化至范围[0,1]内的连续量,并令Pr (r)表示某给定图像中的灰度级的概率密度函数(PDF),其下标用来区分输入图像和输出图像的PDF。
假设我们对输入灰度级执行如下变换,得到(处理后的)输出灰度级s:
S=T(r)=∫0
r Pr(w)dw
式中w 是积分的哑变量。
可以看出,输出灰度级的概率密度函数是均匀的,即
a.当0≤s≤1 时,Ps(s)=1
b.当s 为其他时,Ps(s)=0
换言之,前述变换生成一幅图像,该图像的灰度级较为均衡化,且覆盖了整个范围[0,1]。
灰度级均衡化处理的最终结果是一幅扩展了动态范围的图像,它具有较高的对比度。
该变换函数只不过是一个累积分布函数(CDF)。
直方图均衡化算法
直方图均衡化算法将原图像的直方图改变为在整个灰度范围内基本均匀地分布的形式,由此扩大了像素灰度的动态范围,从而增强了图像的对比度。
直方
图均衡化算法步骤为:
1) 给出原始图像的所有灰度级k S (k=0,1,…,L-1)。
2) 统计原始图像各灰度级的像素数k n 。
3) 根据原图像,计算灰度直方图:
()k k n P S n
= (k=0,1,…,L-1) 式中,n 为总像素数,k n 为灰度级k S 的像素数。
4) 计算原始图像的累积直方图:
00()()k
k i E k s i i i n t EH S P S n =====∑∑ (01k S ≤≤,k=0,1,…,L-1)
5) 取整计算:
int[(1)]k k k U N t N
=-+ 6) 确定映射关系:
k k S U →
7) 统计新直方图各灰度级k U 的像素数目k n 。
8) 计算新的直方图: ()k k n P t n
= 小结
通过本次作业,让我学会了从问题的高度来考虑设计的方方面面,对程序的设计和研究有了更深刻的体会;让我了解到程序的设计是建立在对理论知识了解的基础上的,特别是对直方图均衡化的原理要有较为详细的了解,此外对直方图均衡化算法也要进行了解;在编写程序时,进行模块化设计,以严谨的态度进行编程,避免出现低级错误,养成为程序添加注释和说明的好习惯,以便自己的修改和阅读者轻松的了解程序的各部分及整体的功能。
直方图均衡化的实质就是通过减少图象的灰度级以换取对比度的加大。
以下是变化前后的图像。
原图 均衡化。