图像直方图是图像内灰度值的统计特性与图像灰度值之间的函数,直方图统计图像内各个灰度级出现的次数。
案例来源于傅老师。
1.绘制直方图
使用plt.hist()绘制直方图,具体语法为:
matplotlib.pyplot.hist(X, BINS,facecolor='yellowgreen')
X:一维数组
BINS:数组的边界(如256)
使用cv2.calcHist()绘制直方图,具体语法为:
cv2.calcHist(images,channels,mask,histSize,ranges,accumulate)
channels:指定通道编号。通道编号需要用“[]”括起来。
mask:掩模图像。当统计整幅图像的直方图时,将这个值设为None
histSize:BINS的值,该值需要用“[]”括起来。
ranges:即像素值范围。例如,8位灰度图像的像素值范围是[0,255]
accumulate:累计(累积、叠加)标识,默认值为False
使用掩膜进行直方图绘制:
在函数cv2.calcHist()中,参数mask用于标识是否使用掩膜图像。当使用掩膜图像获取直方图时,仅获取掩膜参数mask指定区域的直方图。