python - 如何从图片中的每个 rgb 通道获取直方图?
问题描述
我在 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()
这会将直方图绘制为彼此重叠的连续线,用不同的颜色表示每个通道,但您可以使用相同的逻辑来分隔图并显示离散直方图。
推荐阅读
- amazon-web-services - AWS S3 存储桶访问错误和存储桶显示旧文件
- vba - 无法从 access 2010 代码创建 access 2013 accde
- javascript - 画布 drawImage() 并不总是可见
- json - 使用 Angular 7 显示 JSON 数据
- c# - 如何测试我的代码在我的 c# .net 核心项目中一次打开的请求连接数不超过 50 个?
- dart - 如何让 Flutter 小部件适应不同的屏幕尺寸
- javascript - 小写()。需要帮助以更真实的方式理解这一点
- f# - 如何使用 Suave 捕获像“/COMPANY/rest...”这样的动态子路径并嵌套路由?
- mongodb - 更新并检索更新的文档 mongodb
- javascript - JavaScript - 如何创建一个介于 1 和用户输入的任何内容 (Num) 之间的数字列表,然后将这些数字相乘?