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.直方图阈值法
对于任何一张图像,它的直方图中如果存在较为明显的双峰,用直方图分割技术法可以达到很好的效果,否则,达到的效果会很不理想。
总结
从统计的角度讲,直方图是图像内灰度值的统计特征与图像灰度值之间的函数,直方图统计图像内各个灰度级出现的次数。