2.4 图像直方图及其应用
2.4.1 图像直方图的定义
直方图(Histogram,由英国的统计学家卡尔-皮尔逊于1895年提出)本身指的是数理统计中表示观测数据频数或频率分布的图。若有一组观测数据(即样本值),为弄清这些数据的变化或分布的规律,将数据适当地分成若干区间或组,计算出每个组的数据出现的频数,就可得到分组频数表。在横坐标上标出分组的点,纵坐标为对应频数,以子区间为底边画出高度为频数的图形在统计学上就称为“直方图”,又称为“频数分布直方图”。如果纵坐标不取频数而取频率,就得到频率直方图,利用它可大致画出分布密度曲线。若增大试验次数,把组分得越来越细,则频率直方图的形状逐渐接近某一曲线,即作为频率分布的极限可表示为光滑曲线,这条曲线排除了抽样和测量的误差,可以反映数据波动或分布的规律。
而图像直方图是表示给定影像中像元值分布的数值数组,是图像各种灰度值出现频率的统计图,通过对图像中具有相同亮度值的像素进行计数而构建的像素数相对于亮度值的关系图。其横坐标表示图像的各个灰度级,纵坐标是位于该灰度级像素出现的频率(有时简便起见,纵坐标直接表示各个灰度级的像素数)。直方图通常用条形图来表示(特别是灰度数目少时)。它不具有某一灰度像素的位置信息,只给出对应该数值的像素个数。直方图的形状将提供图像像素值分布特征信息,从直方图上可以很容易看出图像的灰度级的最大值和最小值,以及各灰度级在图像中出现的次数,还可以看出图像对比度的大小以及相邻灰度级之间的级差等。
若将图像中各种灰度值出现频率进行归一化处理,即用一幅图像的像素总数去除对应灰度值的像素个数而得到的图形,通常称之为归一化直方图(Normalized Histogram)。归一化直方图和直方图在图形表示上形状是完全一致的,只是在纵坐标轴的元素设置上有所不同。
图2.9表示国际标准测试图像Lena(1972年《花花公子》折页Lena图像,这幅图像中包含了多种细节、平滑区域、阴影和纹理)及其对应的直方图信息。
图2.9 图像及其直方图
可以从直方图的分布情况直接认识图像,直方图条形集中在高灰度则整幅图像上像素值较大,表现为整体偏亮,反之则偏暗;直方图分布为一窄带,说明图像像素值动态范围较小,则图像对比度很差,视觉上感觉会很不舒服。
直方图是反映图像统计特征最常用的基础图之一,并且是一个比较重要、应用比较广泛的基本概念,在这一节我们将对直方图的一些特性及其应用进行更深入和全面的介绍。
2.4.2 直方图的性质
依前所述,直方图是图像各种灰度值出现概率的统计图。其横坐标表示图像的各个灰度级,纵坐标是位于该灰度级像素出现的概率。有时为简便起见,纵坐标直接表示各个灰度级的像素数。它是通过对图像上所有出现的灰度值进行统计得到的。
对每一幅图像我们都可以根据其像素亮度值的分布求出直方图。通过观察直方图的形态,可以粗略地分析图像的视觉质量。直方图的形态可由其斜态和峰态来描述。斜态是指直方图的不对称性程度;峰态指直方图的分布在均值周围的集中程度。一般来说,一幅包含大量像素的图像,其像素亮度值应符合统计分布规律,即假定像素亮度随机分布时,直方图应该是正态分布的。实际工作中,若图像的直方图接近正态分布,则说明图像中像素的亮度接近随机分布,是一幅视觉感觉较好,而且也适合用统计方法分析的图像。当观察直方图形态时,若发现直方图的峰值偏向亮度坐标轴左侧,则说明图像中含有较多的低灰度值的像素,整个图像看起来偏暗;若发现直方图的峰值偏向坐标轴右侧,则说明图像中含有较多的高灰度值的像素,整个图像看起来偏亮,从而造成暗部细节难以分辨;若直方图的峰值提升过陡、过窄,说明图像的高密度值过于集中。以上情况均是对图像对比度较小、图像质量较差的反映。
借助直方图,我们可以简便地看出图像对比度的总体情况,可以直接得到图像灰度的分布范围、图像中各灰度级出现的频率(或概率),以及图像中的最大灰度级和最小灰度级,从而为评价图像数字化质量和进行图像处理提供了可视化辅助手段,图像处理的某些算法(直方图均衡化、直方图规定化、直方图匹配等)即是针对图像的直方图分布展开研究的。
直方图具有一些简单而重要的性质,通过了解这些性质,我们才会更好地认识它并利用它。
(1)直方图没有位置信息
在图像上,各像素同时具有位置信息和灰度信息,它们是借助行号和像素号以及像素的灰度值来表示的。但当一幅图像被压缩为直方图后,像素的二维位置分布以及每个位置上的像素灰度值对应关系就不存在了。直方图只统计某一灰度值的像素有多少,或者是占全幅像素的比例多少,而对那些具有同一灰度的像素在图像中占什么位置则无法确定。一幅图像对应唯一的直方图,但像素分布完全不同的图像其直方图却有可能是相同的。这就说明直方图与图像具有一对多的关系,即不同图像可能具有同样的直方图,但一个直方图对应一幅图像并不成立。
如图2.10所示的两种截然不同的图案就具有完全相同的直方图;另外,即便是两个不同的直方图,也可能具有相同的统计特征,如均值、标准差等。因此,依靠直方图及其统计特征来作为图像处理特征时需要特别注意。
图2.10 具有相同直方图的不同图像
(2)直方图反映总体灰度分布
因为直方图是对整幅图像通过进行灰度值统计得出的,所以它必定反映了图像整体的某些灰度性质。如图2.11中,图2.11(a)的直方图成正态分布,而且直方图的峰值恰好位于直方图的中间位置,像素灰度值占据了较宽的动态范围,可以认为这幅图像各种灰度分布均匀,会给人以清晰、明快的感觉。图2.11(b)中的峰值偏向整体直方图的左方,表明直方图的原图总体偏暗。图2.11(c)中的峰值位于整体直方图的右方,这个直方图表示原图像总体偏亮。图2.11(d)中的峰值范围比较集中,尽管峰值位于整体直方图的正中,但其表明直方图对应的原图像灰度动态范围太小,许多细节有很大可能分辨不清楚。上述种种情况表明,我们可以借助直方图判断整幅图像的对比度(即图像最高亮度减去最低亮度与图像最高亮度加上最低亮度的比值)以及像素灰度量化是否合理。
图2.11 从直方图形状判断图像灰度分布
(3)直方图具有可叠加性
若一幅图像可以被分为多个独立的区域,则每个区域都可以分别进行统计得到对应的直方图,而原图像是由各个区域组成的。所以总体直方图可通过各个区域直方图叠加得到。在保证不遗漏像素的前提下,各区域的形状、大小都可随意选择。
(4)直方图具有统计特征
直方图的定义可以用一个表达式表示为:
(2.16)
由此,直方图可以被看作为一维连续函数,借助这个一维连续函数便得到直方图的统计特征,如矩(如均值、方差和高阶矩)
(2.17)
式中,r(0,L-1)为图像的灰度级;i为矩的阶数。i=1时,m1表示图像的均值。
也可以计算图像熵,它是表明图像像素无序性的概念。在图像编码一章中将详细介绍。
(2.18)
式中参数同上。
一致性,当图像各区域中所有灰度值相等时,该度量最大并由此处开始减小。
(2.19)
其他统计量如图像灰度的均值、均方值或能量、方差等统计量也可以借助图像的直方图得到。这些图像的统计特性在图像的纹理分析中会有较大用途。
(5)直方图的分解性质
另外,对应于直方图的可叠加性,它还具有分解性。如彩色图像可分解为红、绿、蓝三幅图像,则有红、绿、蓝三幅直方图与之对应。利用计算机对彩色图像进行处理时,也必须先将整幅图像的红(R)、绿(G)、蓝(B)三种成分分开处理再合成,才能得到最终的处理结果。如图2.12所示。
图2.12 地球的彩色照片及其相应的三波段直方图(见文后彩插)
2.4.3 直方图的用途
鉴于图像直方图具有上述性质,我们可以利用这些性质来辅助完成在处理图像时遇到的一些实际问题。
(1)数字化参数的确定
直方图给出了一个简单可见的指示,用来判断一幅图像是否合理地利用了全部设定的灰度级范围。一幅数字图像应该利用全部或几乎全部可能的灰度级,否则等于增加了量化间隔。一旦被数字化图像的级数少于正常的灰度范围,比如256,丢失的信息将无法得到恢复(除非重新数字化)。
如果图像具有超出数字化器所能处理范围的亮度,则这些灰度级将被简单地置为0或255,由此将在直方图的一端或两端产生尖峰。数字化时对直方图进行检查使数字化中产生的问题及早暴露出来,以免浪费大量时间。
(2)二值化阈值的选择
只取一个数值对图像中具有不同像素值进行划分的方法,叫做图像的二值化处理。一般情况,我们认为图像上目标的轮廓线提供了一个确定简单图像(目标和背景单一)中物体的边界的有效方法(边界Boundary与边缘Edge是有区别的,边界是指一个有限区域外围的闭合通路,是“整体”概念;而边缘则指灰度级测量时具有某些导数值的像素形成的,是不连续点的局部概念。边缘和边界吻合的一个例外就是二值图像的情况)。用最合适的技术来选择灰度阈值是图像处理中看似简单但实现起来很有难度的一个课题。
假定一幅图像的背景是浅色调,其中有一个深色的物体,图2.13为这类图像的直方图。
图2.13 双峰直方图与二值分割阈值的确定
物体中的深色像素产生了直方图上的左峰,而背景中大量的灰度级产生了直方图上的右峰。物体边界附近具有两个峰值之间灰度级的像素数目相对较少,从而产生了两峰之间的谷。选择谷底对应的灰度值作为灰度阈值将得到合理的物体的边界。从某种意义上来说,对应于两峰之间的最低点的灰度级作为阈值来确定边界是最适宜的。在谷底的附近,直方图中的频数值相对较小,意味着面积函数随阈值灰度级的变化很缓慢。如果我们选择谷底处的灰度作为阈值,将可以使其对物体的边界的影响达到最小。直方图的这个性质曾被应用于简单图像的分割(比如对文字的识别、线化图的自动跟踪等)。国内外很多学者对直方图的分割特性进行过讨论和研究,如日本的大津展之提出的图像二值化的大津法和我国的吴冰对此方法提出的改进算法都在实际工作中得到应用。
(3)面积的计算
灰度直方图的像素数可认为是某灰度值在一幅图像中所占的面积。故这个面积可从直方图中求得。而具有相同灰度值的像素,很有可能是相同的地物。对于分类后的影像中地物面积的统计,确实可以采用这种方法来实现。