cv2.calcHist()
直方图是图像中像素强度分布的图形表达方式,统计了每一个强度值所具有的像素个数。并可以计算图像中的一个或多个通道的直方图。
python
dst = cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]])
- images:源图像,可以是单通道灰度图,或三通道RGB图像。
- channels:要计算其直方图的通道索引列表。例如,如果输入图像是灰度图,它的通道索引就是 [0]。对于BGR图像,它可以是 [0],[1] 或 [2] 分别对应蓝色、绿色和红色通道。
- mask:图像掩模。如果图像中的某个像素被掩模覆盖(即掩模对应位置的值非零),则这个像素的直方图不会被计算。如果掩模为 None,表示没有掩模。
- histSize:直方图的大小,即BINS的数量,需要是一个整数列表。对于灰度图像,它通常是一个只有一个元素的列表,例如 [256]。
- ranges:像素值范围,通常为 [0, 256] 对于灰度图像。这个范围对于直方图的计算非常重要,因为它决定了哪些像素值会被考虑在内。
- hist:一个可选的输出参数,用于存储计算出的直方图。
- accumulate:一个布尔值,指定直方图是否应该被累积。如果为 True,则直方图在调用之间会被累加,这对于计算多个图像的直方图很有用。
返回值:该函数返回一个计算出的直方图和一个 bin 的边界值数组(即 ranges 参数的每个维度的边界值)。