Питон. Библиотек matplotlib перевернутое изображение
Я понятия не имею, что здесь не так.
import matplotlib.pyplot as plt
im = plt.imshow(plt.imread('tas.png'))
plt.show()
и ось Y перевернулась.
Поэтому я написал аргумент origin='lower'
.
im = plt.imshow(plt.imread('tas.png'), origin='lower')
plt.show()
и что у меня есть.
Ось Y пришла нормально,но изображение теперь перевернуто.
также, когда я пытаюсь изменить масштаб оси X и Y, изображение не стало меньше, только вырезать кусок.
спасибо заранее. Я была бы так благодарна за помощь.
1 ответов
вы сталкиваетесь с артефактом того, как кодируются изображения. По историческим причинам источником изображения является верхний левый (как и индексация на 2D-массиве ... представьте, что вы просто распечатываете массив, первая строка вашего массива - это первая строка вашего изображения и так далее.)
используя origin=lower
эффективно переворачивает изображение (что полезно, если вы собираетесь рисовать материал поверх изображения). Если вы хотите перевернуть изображение, чтобы быть 'правой стороной вверх' и есть происхождение дна, вам нужно перевернуть изображение перед вызовом imshow
import numpy as np
im = plt.imshow(np.flipud(plt.imread('tas.png')), origin='lower')
plt.show()