图像增强中直方图均衡化的Matlab 实现
摘要:本文采用直方图均衡化的图像增强的基本原理, 借助数学公式, 在Matlab环境下, 对数字图像进行直方图均衡化处理, 实现原始图像直方图均匀分布, 增加像素灰度值的动态范围, 提高了图像的对比度。
关键词:图像增强, 直方图,均衡化, Matlab
ABSTRACT:In this paper, the basic principle of histogram equalization , image enhancement , with the mathematical formula , in the Matlab environment for digital image histogram equalization , to achieve uniform distribution of the original image histogram , increasing the dynamic range of pixel gray value , improve contrast of the image .
KEYWORDS:image enhancement;histograme ;qualization;Matlab
1引言
图像增强是指对图像的某些特征,如边缘、轮廓或对比度等进行强调或尖锐化。当一幅图像曝光不足或过度,造成对比度过小或过大而不能显示具体细节,通过增加这些细节的动态范围改善图像的视觉效果。图像增强可以突出图像中所感兴趣的特征信息,改善图像的主观视觉质量,提高图像的可懂度。
增强的首要目标是处理图像使其比原始图像更适合于特定应用。图像增强的方法分为两大类:空间域方法和频域方法。“空间域”一词是指图像平面本身,这类方法是以对图像的
像素直接处理为基础的。“频域”处理技术是以修改图像的傅氏变换为基础的。一般说来,原始遥感数据的灰度值范围都比较窄,这个范围通常比显示器的显示范围小的多。增强处理可将其灰度范围拉伸到0-255的灰度级之间来显示,从而使图像对比度提高,质量改善。增强主要以图像的灰度直方图最为分析处理的基础。直方图均衡化能够增强整个图像的对比度,提高图像的辨析程度,算法简单,增强效果好。本文主要讨论了空间域的直方图均衡化增强,
并用Matlab 进行实验验证。
2 直方图图像增强的基本理论
大多数原始的遥感图像由于其灰度分布集中在较窄的范围内,使图像的细节不够清晰,对比度较低。为了使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的,通常采用直方图均衡化及直方图规定化两种变换。本文主要介绍直方图均衡化并进行实验。
2.1 直方图均衡化的概念
直方图均衡化(Histogram Equalization) 又称直方图平坦化,实质上是对图像进行非线性拉伸,重新分配图像象元值,使一定灰度范围内象元值的数量大致相等。这样,原来直方图中间的峰顶部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较平的分段直方图:如果输出数据分段值较小的话,会产生粗略分类的视觉效果。
2.2 图像灰度直方图
直方图是表示数字图像中每一灰度出现频率的统计关系。直方图能给出图像灰度范围、每个灰度的频度和灰度的分布、整幅图像的平均明暗和对比度等概貌性描述。灰度直方图是灰度级的函数, 反映的是图像中具有该灰度级像素的个数, 其横坐标是灰度级r, 纵坐标是该灰度级出现的频率( 即像素的个数) pr( r) , 整个坐标系描述的是图像灰度级的分布情况, 由此可以看出图像的灰度分布特性, 即若大部分像素集中在低灰度区域, 图像呈现暗的特性; 若像素集中在高灰度区域, 图像呈现亮的特性。
2.3 直方图均衡化
图1所示就是直方图均衡化, 即将随机分布的图像直方图修改成均匀分布的直方图。基本思想是对原始图像的像素灰度做某种映射变换, 使变换后图像灰
度的概率密度呈均匀分布。这就意味着图像灰度的动态范围得到了增加, 提高了图像的对比度。
图1 直方图均衡化
通过这种技术可以清晰地在直方图上看到图像亮度的分布情况, 并可按照需要对图像亮度调整。另外,这种方法是可逆的, 如果已知均衡化函数, 就可以恢复原始直方图。
3 直方图均衡化算法分析
设变量r 代表图像中像素灰度级。对灰度级进行归一化处理, 则0≤r≤1, 其中r= 0表示黑, r= 1表示白。对于一幅给定的图像来说, 每个像素值在[ 0,1] 的灰度级是随机的。用概率密度函数pr(r)来表示图像灰度级的分布。
为了有利于数字图像处理, 引入离散形式。在离散形式下, 用r 代表离散灰度级, 用
kPr(r) 代表pr(r) , 并且下式成立:
kPr(rk)nkn
其中, 0≤r≤1, k=0, 1, 2, …, n-1。式中n 为图像中出现r这种灰度的像素数, n是图
kkknk像中的像素总数, 而n就是概率论中的频数。图像进行直方图均衡化的函数表达式为:
SiT(ri)i0k1nin
式中, k为灰度级数。相应的反变换为:
riT1(Si)
4 Matlab环境下算法实现及结果分析
4.1实验过程
本文选取一张人物图像进行算法实验, 文件可存储栅格、矢量、DEM等多种格式,支持用户自定义数据, 是一种开放式的数据格式。为了便于操作, 实验采用IMG格式的数据结构。
在Matlab中自定义M文件, 输入如下算法程序:
clc;
clear;
I= imread('a.jpg');
I= rgb2gray(I) ; %将图像转换为灰度图像
J= histeq( I) ; %对I 进行直方图均衡化
subplot( 121) ,imshow(I) ,title('原始图像') ;
subplot (122), imshow(J), title('直方图均衡化后的图像');
figure( 2) ;
subplot( 121) ,imhist(I, ), title( '原始的直方图');
subplot( 122) ,
imhist(J,) ,
title(' 均衡化后的直方图');
4.2 实验结果
Matlab环境下的实验结果如图2所示。图2是原始图像与经过均衡化后的图像对比结果; 图3是原始图像的直方图与经过均衡化的直方图对比。
图2 原始图像与均衡化后的图像比较
图3 原始图像直方图与均衡化后的图像直方图比较
通过对比, 可以发现原始图像的灰度主要分布在中低灰度级上, 在高灰度级上图像的像素数很少。经过直方图均衡化处理后, 图像像素数在高中低灰度级上分布较均匀, 图像对比度有较大提高。
5.结论
直方图均衡化是图像增强技术的基本方法,本文分析了这种处理方法的基本理论,并用Matl ab进行实验,结果表明,直方图均衡化在一定程度上改善了图像的对度差和灰度动态范围,增强了图像的可读性,提高了图像的可分性,有利于进行遥感图像的目视解译。该算法简单,是一种行之有效的图像增强算法。
参考文献
[1] 李耀辉,刘保军.基于直方图均衡的图像增强[J].华北科技学院学报,2003,5(2):65-66.
[2] 姚 静,武文波,康停军.直方图均衡化的Matiab 实现[J].辽宁工程技术大学学报,2007,11(26):60-62.
[3] 阮秋琦.数字图像处理学[M].北京:电子工业出版社,2001:181—195.
[4] 汪志云,黄梦为等.基于直方图的图像增强及其Matlab实现[J].计算机工程与科学,2006,28(2):54—56.
[5] 钱海军,雷剑刚,钱峰.基于Matlab图像增强中直方图均衡化的应用[J].电脑开发与应用,2011,11(24):52-53.
[6] 孙家柄. 遥感原理与应用[M]. 武汉: 武汉大学出版社,2003.
[7] 黄 涛. 直方图在数字图像的应用[J] . 现代计算机,2004,(7):75-78.
[8] 段 竹,吴 镝. 图像增强方法研究[J]. 商场现代化,2009,(1):23.
[9] 黄 昆,陈登胜,余国忠. 直方图均衡化在遥感图像彩色合成中的应用[ J] .安徽农业科学,2010(3): 20-23.
[10] 贾其, 吕绪良,吴超, 等.基于人眼视觉特性的红外图像增强技术研究[J]红外技术,2010(6): 80-83.