OpenCV实战(8)——直方图详解
0. 前言
图像由不同值(颜色)的像素组成,图像中像素值的分布构成了该图像的一个重要特征。本节介绍图像直方图的概念,学习如何计算直方图以及如何使用它来修改图像的外观。直方图还可用于表征图像的内容并检测图像中的特定对象或纹理。
1. 直方图概念
一张图像由若干像素组成,每个像素如果包含一个值(一个通道),则可以组成一张灰度图像;或者如果每个像素包含三个值(三个通道),则可以组成一张彩色图像。每个通道的取值范围为 0 到 255。根据图像的内容,每个灰度值具有不同数量。
图像直方图是一种反映图像色调分布的直方图,其绘制每个色调值的像素数,每个色调值的像素数也称为频率 (frequency)。因此,灰度图像的直方图有 256 个条目(也称柱条或 bin)。bin 0 表示值为 0 的像素数,bin 1 表示值为 1 的像素数,依此类推。显然,如果对直方图的所有 bin 求和,可以得到图像中的像素总数。直方图也可以归一化,使得 bin 的总和等于 1,在这种情况下,每个 bin 都表示图像中具有此色调值的像素数所占百分比。
使用 cv::calcHist() 函数可以方便的计算图像直方图。这是一个通用函数,可以计算任何像素值类型和范围的多通道图像的直方图。</
本文详细介绍了图像直方图的概念,包括灰度和彩色图像的直方图计算。直方图可以用于修改图像外观,如通过查找表拉伸直方图以提高图像对比度。此外,文章还探讨了图像直方图均衡化的原理和应用,通过均衡化可以使图像色调分布更加均匀,从而改善图像质量。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



