Python. 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 个回答
21
你遇到的问题是因为图片的编码方式。历史上,图片的起始点是左上角(就像二维数组的索引一样……想象一下打印一个数组,数组的第一行就是你图片的第一行,以此类推)。
使用 origin=lower
实际上是把你的图片翻转了(这在你想在图片上绘制东西时很有用)。如果你想把图片翻转到“正面朝上”,并且希望起始点在底部,你需要在调用 imshow
之前先翻转你的图片。
import numpy as np
im = plt.imshow(np.flipud(plt.imread('tas.png')), origin='lower')
plt.show()