2.4 图像灰度直方图
对一幅图像,若对应于每一个灰度值,统计出具有该灰度值的像素数,并描绘出像素数-灰度值图形,则该图形称为该图像的灰度直方图,简称直方图。从图形上来说,灰度直方图是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。直方图如图2.11所示。若令全图中灰度值为qi以上的像素数为A(qi),灰度值为qi+∆qi以上的像素数为A(qi+∆qi),则全图中具有灰度值qi的像素数H(q)i可表示为:
(2.8)
对离散图像,则:
H(q)=A(q)−A(q+1) (2.9)
若图像灰度级别为n,则可用H(0)~H(n−1)来表示直方图。
图2.11 直方图
2.4.1 直方图的性质
灰度直方图只能反映图像的灰度分布情况,而不能反映图像像素的位置,即丢失了像素的位置信息。因此,一幅图像对应唯一的灰度直方图,但反之不成立。不同的图像可能对应相同的直方图。如图2.12所示为两幅图像具有相同直方图的例子。
图2.12 不同的图像具有相同的直方图
由于直方图是对具有相同灰度值的像素统计计数得到的,因此,一幅图像各子区的直方图之和就等于该图全图的直方图,如图2.13所示。
图2.13 子区直方图与全图直方图的关系
2.4.2 直方图的应用
(1)用于判断图像量化是否恰当
在对图像进行数字化时,图像数字化后其可用灰度级数与实际占用的灰度级数之间的关系可能会出现三种情况,如图2.14所示。图2.14(a)是恰当分布的情况,即图像直方图覆盖了[0, 255]全部灰度级。图2.14(b)是图像对比度低的情况,图中p、q部分的灰度级未能有效利用,灰度级数少于256,对比度减小。图2.14(c)图像p、q处具有超出数字化所能处理的范围的亮度,则这些灰度级将被简单地置为0或255,将会导致部分图像灰度丢失,降低图像质量。丢失的信息将不能恢复,除非重新数字化。可见数字化时利用直方图进行检查是一个有效的方法。直方图的快速检查可以使数字化中产生的问题及早暴露出来,以免浪费大量时间。
图2.14 直方图用于判断量化是否恰当
(2)用于确定图像二值化的阈值
选择灰度阈值对图像二值化是图像处理中讨论得较多的一个课题。假定一幅图像f(x,y)如图2.15所示,背景是黑色,物体为灰色。在这种情况下,可以容易得知直方图上的左峰由背景中的黑色像素产生,而右峰由物体中各灰度级产生。选择谷对应的灰度作为阈值T,利用下式对图像二值化,得到一幅二值图像g(x,y)。
图2.15 利用直方图选择二值化的阈值
(2.10)
但是一般情况下,图像二值化时双峰之间不明显时,二值化的选取就比较困难了。当物体部分的灰度值比其他部分灰度值大时,可利用直方图统计图像中物体的面积:
(2.11)
式中,n为图像像素总数;vi是图像灰度级为i的像素出现的频率。计算图像信息量H(熵)时,假设一幅数字图像的灰度范围为[0,L-1],各灰度级像素出现的概率为P0,P1,P2,…,PL−1。根据信息论可知,各灰度级像素具有的信息量分别为:−log2P0,−log2P1,−log2P2,…,−log2PL−1,则该幅图像的平均信息量(熵)为:
(2.12)
熵反映了图像信息丰富的程度,它在图像编码处理中有重要意义。