【发布时间】:2021-07-04 04:40:39
【问题描述】:
我使用下面的代码读取图像,然后在 python 中为其生成颜色直方图。
path = r"G:\3Y_individualProject\farm_colormap1.jpg"
colormap1 = cv2.imread(path)
colormap1=cv2.cvtColor(colormap1, cv2.COLOR_BGR2RGB)
plt.imshow(colormap1)
chans=cv2.split(colormap1)
colors=("b", "g", "r")
plt.figure()
plt.title("Color histogram")
plt.xlabel("Bins")
plt.ylabel("Number of pixels")
for (chan, c) in zip(chans, colors):
hist=cv2.calcHist([chan], [0], None, [256], [0,256])
plt.plot(hist, color=c)
plt.xlim([0,256])
plt.show()
但是,它会将 3 个颜色通道(红色、绿色、蓝色)绘制成 3 个不同的图形,就像这样
【问题讨论】:
-
将
plt.show()移出循环
标签: python opencv matplotlib histogram