一、使用matplotlib画直方图
可以利用matplotlib把OpenCV统计得到的直方图绘制出来
示例代码如下:
import cv2
import matplotlib.pyplot as plt
lena = cv2.imread("beautiful women.png")
# 变为黑白图片
gray = cv2.cvtColor(lena, cv2.COLOR_BGR2GRAY)
print(gray)
# 统计直方图数据
plt.hist(gray.ravel(), bins=256, range=[0, 255])
plt.show()
输出结果如下:
二、使用OpenCV绘制直方图
示例代码如下:
import cv2
import matplotlib.pyplot as plt
# 使用OpenCV绘制直方图
histb = cv2.calcHist([lena], [0], None, [256], [0, 255])
histg = cv2.calcHist([lena], [1], None, [256], [0, 255])
histr = cv2.calcHist([lena], [2], None, [256], [0, 255])
plt.plot(histb, color="b", label="blue")
plt.plot(histg, color="g", label="green")
plt.plot(histr, color="r", label="red")
plt.legend()
plt.show()
输出结果如下: