10

ここで何が悪いのかわかりません。

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を再スケーリングしようとすると、画像が小さくならず、切り取った部分だけが表示されます。

前もって感謝します。助けていただければ幸いです。

4

1 に答える 1

20

画像がどのようにエンコードされるかというアーティファクトに遭遇しています。歴史的な理由から、画像の原点は左上にあります(2D配列のインデックス作成と同じように...配列を印刷するだけで、配列の最初の行が画像の最初の行になると想像してください)。

を使用origin=lowerすると、画像が効果的に反転します(これは、画像の上に画像をプロットする場合に便利です)。画像を「右側を上にして」反転させ、下部の原点を設定する場合は、呼び出す前に画像を反転する必要がありますimshow

 import numpy as np
 im = plt.imshow(np.flipud(plt.imread('tas.png')), origin='lower')
 plt.show()
于 2013-01-29T19:05:57.493 に答える