图像直方图全面介绍
图像直方图全面介绍
图像直方图是图像处理中的一个重要概念,它反映了图像像素数据的分布特征。从二值图像到彩色图像,直方图都有其独特的表示方式。本文将详细介绍图像直方图的基本概念、不同类型图像的直方图表示,以及直方图在图像处理中的各种应用,包括阈值化、均衡化、对比和反向投影等。
一、图像直方图的基本概念
图像直方图是图像的基本属性之一,也是图像像素数据分布的统计学特征。根据图像类型的不同,直方图的表示方式也有所不同。
1. 二值图像的直方图
二值图像的像素值只有0和1两种可能,其直方图非常简单。X轴表示像素范围(0-黑色、1-白色),Y轴表示像素值出现的频次。
2. 灰度图像的直方图
灰度图像的像素值取值范围是0~255之间,其直方图的X轴表示像素值范围,Y轴表示各个像素值出现的频次。
3. 彩色图像的直方图
彩色图像有红色、绿色、蓝色三个通道,其直方图表示稍微复杂一点,需要对每个通道进行直方图计算。每个通道对应一个直方图分布。
二、直方图的应用
1. 直方图阈值化
直方图阈值化是将图像转换为二值图像的过程。OpenCV中支持两种基于直方图的阈值计算方法:
- THRESH_OTSU:对直方图为双峰的灰度图像效果较好。
- THRESH_TRIANGLE:对直方图分布单峰的图像分割效果较好。
2. 直方图均衡化
直方图均衡化是一种通过提升图像对比度实现图像增强的方法。OpenCV中支持两种直方图均衡化方法:
- 全局直方图均衡化:适用于整个图像的对比度增强。
- 对比度受限的自适应直方图均衡化(CLAHE):适用于局部对比度增强。
特别需要注意的是,OpenCV的直方图均衡化函数都只支持单通道八位的图像。对于RGB彩色图像,需要先转换到HSV色彩空间,然后对亮度通道V进行直方图均衡化,最后再转换回RGB色彩空间显示。
3. 直方图对比
图像直方图还可以用于图像相似性分析。通过比较两张图像的直方图分布数据,可以判断图像内容的相似程度。OpenCV中支持的直方图比较方法包括卡方、相关性、交叉和巴氏距离等。
4. 直方图反向投影
直方图反向投影主要用于获取ROI(感兴趣区域),进而实现对ROI区域的标注、识别、测量等图像处理与分析。彩色图像的反向投影效果通常比灰度图像更好,因为彩色图像包含更多细节信息。
三、其他类型图像直方图与直方图缺陷
除了像素分布直方图,还有基于图像梯度和角度的直方图类型,如图像梯度直方图和图像角度直方图。这些类型的直方图在SIFT和HOG特征提取算法中都有应用。但是,直方图只是数据统计信息,没有包含图像空间信息,因此无法正确描述图像的结构化信息。
上图说明直方图数据完全一致的图像,但是图像的空间结构完全不同,根本没有相似性可言,所以图像直方图信息只是图像的基本属性之一,但是不是图像的唯一特征。同样作为图像的基本属性之一,直方图应用范围非常广泛,是最基础的图像特征向量数据之一,常规的直方图归一化即可得到PDF数据。