学习直方图均衡化的原理,掌握图像的读取方法,并实现直方图均衡化,增强图片效果。
图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法。直方图拉伸是通过对比度拉伸对直方图进行调整,从而“扩大”前景和背景灰度的差别,以达到增强对比度的目的,这种方法可以利用线性或非线性的方法来实现;直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。
直方图均衡化(Histogram Equalization)又称直方图平坦化,实质上是对图像进行非线性拉伸,重新分配图像象元值,使一定灰度范围内象元值的数量大致相等。这样,原来直方图中间的峰顶部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较平的分段直方图:如果输出数据分段值较小的话,会产生粗略分类的视觉效果。
直方图可以表示数字图像中每一灰度出现频率的统计关系。直方图能给出图像灰度范围、每个灰度的频度和灰度的分布、整幅图像的平均明暗和对比度等概貌性描述。灰度直方图是灰度级的函数,反映的是图像中具有该灰度级像素的个数,其横坐标是灰度级 r,纵坐标是该灰度级出现的频率(即像素的个数) pr( r),整个坐标系描述的是图像灰度级的分布情况,由此可以看出图像的灰度分布特性,即若大部分像素集中在低灰度区域,图像呈现暗的特性;若像素集中在高灰度区域,图像呈现亮的特性。
直方图均衡化,即将随机分布的图像直方图修改成均匀分布的直方图。
基本思想是对原始图像的像素灰度做某种映射变换,使变换后图像灰度的概率密度呈均匀分布。这就意味着图像灰度的动态范围得到了增加,提高了图像的对比度。
设变量 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就是概率论中的频数。
图像进行直方图均衡化的函数表达式为:
式中,k 为灰度级数。相应的反变换为:
程序流程设计
程序流程设计中首先要读取工程目录下的BMP图像,接着进行直方图均衡化处理,最后保存图像。
本实验所需硬件为实验板、仿真器和电源。
硬件连接
(1)连接仿真器和电脑的USB接口,
(2)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。
软件操作
导入工程,选择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与实验箱的连接,最后实验箱断电即可。
文章评论(0条评论)
登录后参与讨论