Вы ищете цветовую карту, которая используется изображением, созданным с помощью imshow
.Теперь, конечно, вы можете перепроектировать, как эта цветовая карта попала на изображение в первую очередь, как предполагает другой ответ.Это кажется громоздким и достаточно часто даже невозможно.
Таким образом, если AxesImage
(объект, возвращаемый imshow
) или любой другой ScalarMappable
, вы получаете используемую цветовую карту через .cmap
.Поскольку значения данных нормализуются в диапазоне от 0..1, вам нужна нормализация, которую вы получаете из атрибута .norm
.Наконец, вам нужны данные, которые вы получаете методом .get_array()
.
Следовательно, magic_function
представляет собой цепочку из трех функций.
im = plt.imshow(np.random.rand(10, 10))
color_matrix = im.cmap(im.norm(im.get_array()))
color_matrix
теперь(10, 10, 4) -образный массив цветов RGBA, соответствующий пикселям на изображении.