如何从图片中的每个rgb通道获得直方图?

  • 本文关键字:通道 rgb 直方图 python
  • 更新时间 :
  • 英文 :


我在Lena测试图片上尝试了一些东西,其中一个是独立绘制每个rgb直方图,但由于某种原因它不起作用。

下面是我的代码:

from skimage import io, color
import matplotlib.pyplot as plt
# Charger l'image Lena
X = io.imread('lena.png')
fig, (ax0, ax1,ax2) = plt.subplots(1, 3)
rgb=[]
for i in range(3):
rgb.append(X[:,:,i])
ax0.imshow(plt.hist(rgb[0]))
ax1.imshow(plt.hist(rgb[1]))
ax2.imshow(plt.hist(rgb[2]))

关于您的解决方案,您最后错过了ply.show()

您还可以使用open-cv执行以下操作:

import cv2
import matplotlib.pyplot as plt
image = cv2.imread('lena.jpg')
for i, col in enumerate(['b', 'g', 'r']):
hist = cv2.calcHist([image], [i], None, [256], [0, 256])
plt.plot(hist, color = col)
plt.xlim([0, 256])

plt.show()

这将把直方图绘制成连续的线,用不同的颜色表示每个通道,但是您可以使用相同的逻辑来分离这些图并显示离散的直方图。

最新更新