1 概述
图像增强是数字图像处理中非常重要的一个组成部分。
由于受到拍摄感光设备、 拍摄时的环境、 传输过程等客观存在且无法完全消除的因素的影响, 图像中会形成噪声或者模糊效应。 为了提高成像质量, 消除噪声或者模糊等不需要的冗余信息, 人们需要使用图像增强技术来突出图像中感兴趣的区域或者物体。 图像增强方法有两类: 一类为频域处理法,另一类为空间域处理法。 频域处理法主要是指以二维离散傅里叶变换为基础的各种滤波方法, 通常可以设计不同的滤波器来对二维信号 (图像) 中不同的频率分量进行筛选; 空间域处理法是直接对图像的像素进行处理, 通过对灰度值的变换来增强构成图像的像素。 主要介绍基于直方图均衡化的数字图像增强技术, 属于空间域处理法的一种。
2 灰度图像增强
2.1 常用方法
常用的图像一般都为灰度图像, 若图像所对应的灰度函数为 F (X,Y), 则 F 表示灰度值, 也就是图像上对应点的亮度。
亮度是观察者衡量所看到物体表面所反射的光强度的量度。
作为一种空间域的图像处理方法, 灰度变换是一种点变换操作, 即按照预先设定好的函数或者规则逐个修改图像中的像素值, 目的是改变图像灰度的分布范围, 改善图像的显示质量。 常见的灰度变换算法有 "基于线性函数的灰度变换"和 "基于非线性函数的灰度变换".
使用基于线性函数的灰度变换时, 通常先统计处图像中灰度的分布范围, 然后选取合适的线性函数将整幅图像的灰度扩展至事先选取好的范围内, 或者整个动态范围 (通常 0-255), 这样可以将感兴趣的区域和不感兴趣的区域对比度增强。 另外也可以针对不同的灰度区间, 采用不同的线性函数进行扩展拉伸。
基于非线性函数的灰度变换与之类似, 不过选取的是非线性函数进行扩展, 而且非线性函数在不同灰度区间内的扩展效果是不同的。 下面对线性灰度变换的过程进行介绍和仿真实验。
2.2 直方图均衡化
直方图均衡化是应用最为广泛的线性灰度变换方法。 这里先介绍直方图的概念---灰度直方图是描述图像灰度分布的函数, 通常可以按 "等间隔" 或者 "不等间隔" 对图像中的灰度值进行分桶处理, 然后统计落到每个桶内的像素个数。
灰度直方图是图像灰度值分布的一个总体的描述。 这里又涉及到了像素的概念---像素通常被视为图像的最小的完整采样, 是图像在坐标空间和性质空间都离散化表示[1][2][3].
作为增强图像全局对比度的一种方法, 直方图均衡化是通过把图像内的像素强度 (通常是指灰度) 进行拉伸来实现的 . 直 方 图 均 衡 化 适 用 于 前 景 ( FORGROUND) 和 背 景(BACKGROUND) 都太亮或者太暗的图像 ---例 如在医学图像处理 (MEDICAL IMAGE PROCESSING) 中, 某些 X 光照片会存在曝光过度或者曝光明显不够的情形, 导致医生无法根据照片做出准确判断, 采用直方图均衡化处理后能够更明确地显示出骨骼或者器官的构造细节, 无需重新进行拍摄。
有一些图像由于其灰度分布集中在较窄的区间, 对比度一般很弱, 图像细节看不清楚, 可以选取特定的分布范围对图像灰度分布进行拉伸, 使拉伸后的图像直方图分布更为均匀, 对比度更强, 称这种方法为直方图均衡。 比如来说, 输入图像的灰度区间在 [0,20], 经过直方图均衡化后, 图像的灰度分布会变成 [0,255]. 在 Matlab 工具箱中, 直方图均衡化是由 histeq 实现的, 函数语法为 g=histeq (f,nelv), 其中 f 指原始图像, nelv 是需要事先指定的输出图像灰度级数。 直方图均衡化会使图像的灰度在 [0,1] 上的均匀分布, 理想结果是图像的所有灰度级出现的概率相同。 图像直方图均衡化的实现首先要统计原始图像直方图, 其次要计算直方图累计分布曲线,然后用累计分布函数作为变换函数进行图像灰度变换[4], 下面对其进行简要介绍:
为了对图像整体灰度分进行均衡化处理, 需要先选定变换函数:
其中 T (x,y) 是累积分布函数, 满足满足 0≤T (x, y) ≤1.这样做的结果扩展了像素取值的动态范围[5][6]. 如果在实际应用中对图像进行直方图均衡化, 需要采用离散形式的变换函数:
直方图均衡化能够使图像的信息熵最大, 这样变换后的图像信息量也就最大, 看起来也能够更为清晰。
可以看到图 1 对比度不强, 人物和背景差异不大, 细节信息不突出。 因此我们对其进行直方图均衡化, 程序如下:
f=imread('woman.bmp');
figure,imshow(f);title(' 原始图像 ');
figure,imhist(f);title(' 原始图像直方图 ');
YLIM('AUTO');
G=HISTEQ(F,256);
FIGURE,IMSHOW(G);TITLE(' 灰度变换后图像 ');
FIGURE,IMHIST(G);TITLE(' 灰度变换后图像直方图 ');
YLIM('AUTO');
原始图像和均衡化后的图像仿真实现。
3 彩色图像增强
彩色图像增强主要是对图像的色彩、 亮度等信息进行修正, 使增强后的图像更加生动、 色彩更加鲜艳, 细节更加突出。
彩色图像处理可分为 3 个主要类型: (1) 颜色变换 (即彩色图像映射), 处理的对象是彩色图像中的每个像素, 而不考虑其空间位置信息; (2) 彩色图像的空间滤波; (3) 彩色图像各颜色通道的处理技术。
自然界中常见的各种色光都可用红、 绿、 蓝 (R、 G、 B)这 3 种原色按照不同的比例混合得来, 也可理解为任何一种颜色都可以分解为 3 原色, 且 3 原色是相互独立存在的。 一幅 RGB 图像就是彩色像素的一个 M×N×3 的数组, RGB 彩色图像的每一个像素就是对应的彩色像素的 3 个彩色分量。 RGB图像可以理解为是 3 幅灰度图像组合在一起的, 当其经过特定的彩色监视器输入端时, 就会在屏幕上出现一幅彩色图像。
其中 3 个彩色分量图可称为红、 绿、 蓝分量图。
彩色图像有 3 个颜色通道---红、 绿和蓝, 一般用英文字母 R、 G 和 B 表示。 根据 3 基色原理, 任何颜色都可以通过这3 种颜色调配组合而成。 如果我们通过设置 RGB 3 个颜色的强度值来显示每个像素, 这样得到的彩色图像就是真彩色图像。
4 结语
介绍了基于直方图均衡化的灰度图像变换和彩色图像变换的原理, 并且给出了 Matlab 平台上的仿真实验结果。 从仿真结果上看, 灰度直方图均衡化的方法能够使得图像的亮度显著增加, 同时处理后的图像中所有像素的灰度平均值高于原图像, 有效地突出了图像中的感兴趣细节; 将直方图均衡化的方法应用到彩色图像上, 同样可以取得不错的效果, 从仿真结果上看, 均衡化后的图像色彩较原图更为明亮, 细节更为突出。
参考文献:
[1] 吕风军。 数字图像处理编程入门 [M] . 清华大学出版社,1999.
[2] 贾永红。 数字图像处理 [M] . 武汉大学出版社, 2003.
[3] 夏德深, 傅德胜。 计算机图像处理及应用 [M] . 东南大学出版社, 2004.
[4] 高彦平。 图像增强方法的研究与实现 [D] . 山东科技大学硕士学位论文, 2005.