我使用
绘制了一幅图像import matplotlib.pyplot as plt
plt.imshow(image)
image是一个NxM numpy数组,只有5个不同的值。 如何在imshow显示的图像中获取这5个值已映射到的RGB值列表?
答案 0 :(得分:2)
如果您事先不知道图片中的值是什么,可以使用np.unique
查找所有唯一值,然后使用norm
和cmap
属性AxesImage
imshow
例如:
import numpy as np
import matplotlib.pyplot as plt
im = plt.imshow(image)
colours = im.cmap(im.norm(np.unique(image))
答案 1 :(得分:1)
好吧,我找到了一种基于this其他问题的方法。
import matplotlib.pyplot as plt
art = plt.imshow(image)
colours = [art.cmap(art.norm(c)) for c in range(1,6)]
颜色包含我需要的颜色。