Python图像库:图像旋转90度?

Python图像库:图像旋转90度?,python,image,python-imaging-library,Python,Image,Python Imaging Library,我的计算机上有一个图像,其尺寸为宽度=1932,高度=2576。它是用智能手机制作的,使用“jpeg”格式 如果我用任何我喜欢的工具打开图像,它就会正确显示 我尝试用python打开它: from PIL import Image img_in = Image.open(input_image_path) 不幸的是,在python中,它的维度总是width=2576,height=1932。它总是会发生,我可以修复它,但它似乎只发生在我的一些图像。图像总是顺时针旋转 我是否使用了错误的open

我的计算机上有一个图像,其尺寸为宽度=1932,高度=2576。它是用智能手机制作的,使用“jpeg”格式

如果我用任何我喜欢的工具打开图像,它就会正确显示

我尝试用python打开它:

from PIL import Image
img_in = Image.open(input_image_path)
不幸的是,在python中,它的维度总是width=2576,height=1932。它总是会发生,我可以修复它,但它似乎只发生在我的一些图像。图像总是顺时针旋转

我是否使用了错误的open函数,或者如何修复此问题

多谢各位

问候

凯文

--编辑--

解决方案:

1) 请阅读接受的答案


2) 以下代码可用于避免此问题:

当您使用智能手机拍摄纵向图像和横向图像时,这两种图像都将使用相同的坐标系,即相对于手机中成像传感器的方向

然而,手机的陀螺仪检测到设备的旋转,所以它“知道”它是一幅肖像画还是风景画。此信息保存在JPEG的元数据中

用于显示图像的软件通常会评估此信息以相应地旋转图片。在图像编辑软件中,通常应询问您是否要对图片应用旋转(例如Gimp执行此操作)


然而,图像处理库通常完全忽略这些信息。它们只访问图像像素,并按存储顺序访问它们。正如您所看到的,python图像处理没有什么问题,但是如果有一个接口也可以读取此信息,那么它会感兴趣,因此您可以相应地处理它。

jpeg文件可以包含一个方向。感谢您的提示:)!