OpenCV-Python-图像直方图

© Fu Xianjun. All Rights Reserved.

文章目录

  • 前言
  • 使用步骤
    • 1.图像直方图
    • 2.直方图均衡化
    • 3.直方图比较
    • 4. 直方图阈值法
  • 总结


前言

直方图是图像处理过程中的一种非常重要的分析工具。


二、使用步骤

1.图像直方图

matplotlib.pyplot.hist(X, BINS,facecolor='yellowgreen')
直方图绘制
X:一维数组
BINS:数组的边界。
import matplotlib.pyplot as plt

matplotlib.pyplot是一个有命令风格的函数集合,它看起来和MATLAB很相似。

降维处理:b=a.ravel()

cv2.calcHist(images,channels,mask,histSize,ranges,accumulate)

channels:指定通道编号。通道编号需要用“[]”括起来。

mask:掩模图像。当统计整幅图像的直方图时,将这个值设为None 。

histSize: BINS的值,该值需要用“[]”括起来。

ranges:即像素值范围。例如,8位灰度图像的像素值范围是[0,255] 。

accumulate:累计(累积、叠加)标识,默认值为False。
 

2.直方图均衡化

cv2.equalizeHist(src) src是8位单通道原始图像

3.直方图比较

相关性比较(Correlation)

Chi-Square(卡方比较)

Intersection(十字交叉性)

Bhattacharyya distance(巴氏距离)

Correlation ( CV_COMP_CORREL )

Chi-Square ( CV_COMP_CHISQR )

Intersection ( CV_COMP_INTERSECT )

Bhattacharyya ( CV_COMP_BHATTACHARYYA )

4.直方图阈值法

对于任何一张图像,它的直方图中如果存在较为明显的双峰,用直方图分割技术法可以达到很好的效果,否则,达到的效果会很不理想。

OpenCV-Python-图像直方图_第1张图片


总结

从统计的角度讲,直方图是图像内灰度值的统计特征与图像灰度值之间的函数,直方图统计图像内各个灰度级出现的次数。

你可能感兴趣的:(人工智能)