目标
学会
- 使用OpenCV和Numpy函数查找直方图
- 使用OpenCV和Matplotlib函数绘制直方图
- 您将看到以下功能:cv2.calcHist(), np.histogram()等
理论
什么是直方图?你可以把直方图看作一个图形或图表,这样你就可以对图像的强度分布有一个全面的了解。它是一个在X轴上有像素值(从0到255,并不总是)的图形,以及Y轴上图像中相应的像素数。
这只是理解图像的另一种方式。通过查看一幅图像的直方图,你就可以得到图像的对比度、亮度、强度分布等方面的直觉。现在几乎所有的图像处理工具都提供了直方图上的功能。
您可以看到图像及其直方图。(请记住,此直方图用于灰度图像,而不是彩色图像)。直方图的左区域显示图像中较暗像素的数量,右侧区域显示亮像素的数量。从直方图中,你可以看到暗区域比亮区域多,中间色调的数量(中段像素值,比如127左右)非常少。
查找直方图
现在我们有了一个关于什么是直方图的概念,我们可以研究如何找到这个。OpenCV和Numpy都有内置的功能。在使用这些函数之前,我们需要了解一些与直方图相关的术语。
BINS :上面的直方图显示每个像素值的像素数,即从0到255。即需要256个值才能显示上面的直方图。但是请考虑一下,如果您不需要分别找到所有像素值的像素数,而需要在像素值的间