2016-08-24 9 views
2

私のコンピュータには、幅= 1932、高さ= 2576の画像があります。それはスマートフォンで作られ、 "jpeg"形式を使用します。Python Image Library:画像は90度回転していますか?

イメージが好きなツールで開くと、正しく表示されます。

私は、Pythonでそれを開こうとしました:

from PIL import Image 
img_in = Image.open(input_image_path) 

は残念ながらpythonでそれは常に寸法は= 2576、高さ= 1932幅ました。これはいつも起こります、私はそれを修正することができますが、それは私のイメージのいくつかのために起こるようです。画像は常に時計回りに回転します。

私はオープン関数を間違って使用していますか、これをどのように修正できますか?

ありがとうございました。

よろしく

ケビン

- 編集 -

ソリューション:

1)受け入れ答え

2をお読みください)以下のコードを避けるために使用することができますこの問題:https://stackoverflow.com/a/11543365/916672

+2

jpegファイルには方向が含まれています。 – Daniel

答えて

1

スマートフォンと風景画像でポートレート画像を撮ると、両方の画像が同じ座標系で、つまり携帯電話の画像センサーの向きに比例して処理されます。

しかし、携帯電話のジャイロスコープはデバイスの回転を検出するので、それが肖像画であるか地形の画像であるかを「知っている」。この情報は、JPEGのメタデータに保存されます。

画像を表示するソフトウェアは、通常、この情報を評価して、画像をそれに応じて回転させます。画像編集ソフトウェアでは、画像に回転を適用するかどうかを尋ねるのが一般的です(例えば、Gimpはこれを行います)。

しかし、画像処理ライブラリは通常、この情報を完全に無視します。それらは画像ピクセルにのみアクセスし、それらは格納された順序でそれらにアクセスする。あなたが見ることができるように、Pythonイメージングには何も問題はありませんが、この情報も読み込むインタフェースがあれば興味がありますので、それに応じて対処することができます。

+0

このヒントありがとう!:)! –

関連する問題