使用Matplotlib
来绘制imori_dark.jpg
的直方图吧!
直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。
直方图是数值数据分布的精确图形表示。 这是一个连续变量(定量变量)的概率分布的估计,并且被卡尔·皮尔逊(Karl Pearson)首先引入。它是一种条形图。 为了构建直方图,第一步是将值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值。 这些值通常被指定为连续的,不重叠的变量间隔。 间隔必须相邻,并且通常是(但不是必须的)相等的大小。
直方图显示了不同数值的像素出现的次数。在Matplotlib
中有hist()
函数提供绘制直方图的接口。
python实现:
import cv2
import numpy as np
import matplotlib.pyplot as plt
# Read image
img = cv2.imread("imori_dark.jpg").astype(np.float)
# Display histogram
plt.hist(img.ravel(), bins=255, rwidth=0.8, range=(0, 255))
plt.savefig("out.png")
plt.show()
输入:
输出: