代码实现很简单,直接调库。

import cv2 as cv
from matplotlib import pyplot as plt
#参数0表示以灰度图像读入该图片,也就是说在读取的同时就进行了处理
img = cv.imread('../dataset3/girl.bmp', 0)
#img.ravel()指最终的直方图将对数据集进行统计,256是统计的区间分布,[0,256]是显示的区间
plt.hist(img.ravel(),256,[0,256])
plt.show()

运行效果如下:
用Python显示灰度图像的灰度直方图_计算机视觉