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