一、实验目的
学习直方图均衡化的原理,掌握图像的读取方法,并实现直方图均衡化,增强图片效果。
二、实验原理
直方图均衡化
图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法。直方图拉伸是通过对比度拉伸对直方图进行调整,从而“扩大”前景和背景灰度的差别,以达到增强对比度的目的,这种方法可以利用线性或非线性的方法来实现;直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。
直方图均衡化(Histogram Equalization)又称直方图平坦化,实质上是对图像进行非线性拉伸,重新分配图像象元值,使一定灰度范围内象元值的数量大致相等。这样,原来直方图中间的峰顶部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较平的分段直方图:如果输出数据分段值较小的话,会产生粗略分类的视觉效果。
直方图可以表示数字图像中每一灰度出现频率的统计关系。直方图能给出图像灰度范围、每个灰度的频度和灰度的分布、整幅图像的平均明暗和对比度等概貌性描述。灰度直方图是灰度级的函数,反映的是图像中具有该灰度级像素的个数,其横坐标是灰度级 r,纵坐标是该灰度级出现的频率(即像素的个数) pr( r),整个坐标系描述的是图像灰度级的分布情况,由此可以看出图像的灰度分布特性,即若大部分像素集中在低灰度区域,图像呈现暗的特性;若像素集中在高灰度区域,图像呈现亮的特性。
直方图均衡化,即将随机分布的图像直方图修改成均匀分布的直方图。
基本思想是对原始图像的像素灰度做某种映射变换,使变换后图像灰度的概率密度呈均匀分布。这就意味着图像灰度的动态范围得到了增加,提高了图像的对比度。
![image.png](//file1.elecfans.com/web2/M00/FC/4A/wKgaomaQ3YOAS5ORAAZeNhyKc34583.png)
设变量 r 代表图像中像素灰度级。对灰度级进行归一化处理,则 0≤r≤1, 其中 r= 0 表示黑,r= 1 表示白。
对于一幅给定的图像来说,每个像素值在[ 0,1] 的灰度级是随机的。用概率密度函数来P _r(r)表示图像灰度级的分布。为了有利于数字图像处理,引入离散形式。在离散形式下,用r^k代表离散灰度级,用P _r(r^k)代表 P _r(r),并且下式成立:
其中,0≤r^k≤1,k=0,1,2,…,n-1。式中n^k为图像中出现r^k这种灰度的像素数,
n 是图像中的像素总数,而n^k/n就是概率论中的频数。
图像进行直方图均衡化的函数表达式为:
![image.png](//file1.elecfans.com/web2/M00/FC/4A/wKgaomaQ3Y-AQgFEAALy9URd82s671.png)
式中,k 为灰度级数。相应的反变换为:
![image.png](//file1.elecfans.com/web2/M00/FB/5E/wKgZomaQ3ZmABeGNAALy9TYlSlY515.png)
程序流程设计
程序流程设计中首先要读取工程目录下的BMP图像,接着进行直方图均衡化处理,最后保存图像。
![image.png](//file1.elecfans.com/web2/M00/FB/5E/wKgZomaQ3aCAEX1UAATzoHAi1pE254.png)
三、操作现象
本实验所需硬件为实验板、仿真器和电源。
![image.png](//file1.elecfans.com/web2/M00/FC/4A/wKgaomaQ3aSAAM4GAAZfCZglQ1o767.png)
硬件连接
(1)连接仿真器和电脑的USB接口,
(2)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。
![image.png](//file1.elecfans.com/web2/M00/FB/5E/wKgZomaQ3bCADSAnAAqNxenp8Lo366.png)
软件操作
导入工程,选择Demo文件夹下的对应工程
编译工程,生成可执行文件
运行程序后,CCS的Console窗口会打印相关信息。
稍等片刻后,图像处理完成,程序执行完成后会在断点处停下。
可以通过CCS 的图像显示窗口查看处理前后的图片对比。
点击工具,选择图像分析工具。在弹出的Image 窗口中右击鼠标,在弹出的菜单栏中选择"Import Properties",选择工程目录下的 in.txt 配置文件,选择后等待图片加载,加载完成后显示原图片。
txt 配置文件是提前配置好的图像属性,在 Properties 属性可看到 in.txt 文件的设置参数。
再次点击工具,选择图像分析工具。在弹出的Image 窗口中右击鼠标,在弹出的菜单栏中选择"Import Properties",选择工程目录下的out.txt 配置文件,选择后等待图片加载,加载完成后显示转换后的图片。
在Properties 属性可看到out.txt 文件的设置参数。
同时,可在工程的Image 目录下直接查看转换后的图片 Out.bmp。
实验结束后,点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。
![image.png](//file1.elecfans.com/web2/M00/FB/5E/wKgZomaQ3buAdSquAAqNxceaLOo959.png)