什么是直方图?
直方图是对图像的另一种解释。通过直方图你可以对整幅图像的灰度分布有一个整体的了解。直方图的x轴是灰度值,y轴是图片中具有统一灰度值得点的数目。
直方图中的两个定义:
-
BINS:一个小组是一个BIN,如果像素值为0到255,那么你就需要256个数来显示直方图。这就分成了256个组。
-
RANGE:要统计的直方图的范围,一般来说[0,256]。
使用OpenCV统计直方图:
hist = cv2.calcHist(images. channels. mask, histSize, ranges[, hist[, accumulate]])
- images:原图,用[]括起来。
- channels:同样用中括号括起来,若原图是灰度图,则为[0],否则传入的参数可以是[0],[1],[2]代表B,G,R三通道。
- mask:掩模图像。若统计整幅图像的直方图,则为None
- histSize:BIN的数目,用中括号括起来。[256]
- ranges:像素值的范围,通常是[0,256]
# 读取彩色图片的直方图
import cv2 as cv
img = cv.imread("picture\lena.jpg")
color = ['b','g','r&