PIL(Pillow) で JPEG ファイルをオープンしたとき、EXIF の Orientation タグに値が設定されていても特に考慮されない。 Orientation タグに設定されている値に従った回転・フリップ処理を行った後のデータを生成する方法の実装例。 from PIL import Image file_path = "JPEG 画像ファイルのパス" # Orientation タグ値にしたがった処理 # PIL における Rotate の角度は反時計回りが正 convert_image = { 1: lambda img: img, 2: lambda img: img.transpose(Image.FLIP_LEFT_RIGHT), # 左右反転 3: lambda img: img.transpose(Image.ROTATE_180), # 180度回転 4: la
![PILでEXIF Orientationタグを考慮して処理 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/83d23cfa89367f515682dbbfe4c2ce10bc53275f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UElMJUUzJTgxJUE3RVhJRiUyME9yaWVudGF0aW9uJUUzJTgyJUJGJUUzJTgyJUIwJUUzJTgyJTkyJUU4JTgwJTgzJUU2JTg1JUFFJUUzJTgxJTk3JUUzJTgxJUE2JUU1JTg3JUE2JUU3JTkwJTg2JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1iMzIwNzc2ZjgwYzI2MzJmNmM2NTBlYzY5ZmI2MDVlOQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwS2xlaW4mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWRhODZhZjU2MGEyYzczZjRmOGRkZmE5OTk2ODExZWY5%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dbbe9655d0ca1adc22af409cb3c40b841)