使用Python,OpenCV计算图像直方图(cv2.calcHist
这篇博客将介绍如何使用Python,OpenCV和cv2.calcHist 计算图像直方图。
直方图算机视觉中应用广泛。
- 使用灰度直方图进行阈值处理;
- 使用直方图进行白平衡;
- 使用颜色直方图来跟踪图像中的对象,例如使用 CamShift 算法;
- 使用颜色直方图作为特征——包括多维的颜色直方图;
- 使用图像梯度的直方图来形成 HOG 和 SIFT 描述符;
- 在图像搜索引擎和机器学习中使用的极受欢迎的视觉词袋表示也是直方图!
而且很有可能,我敢肯定这不是您第一次在研究中遇到直方图。
为什么直方图如此有用?
因为直方图捕获了一组数据的频率分布。事实证明,检查这些频率分布是构建简单图像处理技术……以及非常强大的机器学习算法的一种非常好的方式。
1. 效果图
原图BGR图:
颜色不对,因为OpenCV读取图片默认Numpy是BGR通道形式,而matplotlib期待RGB通道的图像,所以先转换在展示~