Python 图片库:图片转了90度?

Python Image Library: Image is turned by 90 degree?

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

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

我尝试用python打开它:

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

不幸的是,在 python 中,它的尺寸始终为 width=2576 和 height=1932。如果这总是会发生,我可以修复它,但它似乎只发生在我的一些图像上。图片总是顺时针旋转。

我是不是用错了 open-function 或者我该如何解决这个问题?

非常感谢。

此致

凯文

-- 编辑--

解决方案:

1) 请阅读接受的答案

2) 下面的代码可以用来避免这个问题:

当你用你的 smartphone 拍人像照片和拍风景照片时,两者都将使用相同的坐标系,即相对于你 [=20] 中成像传感器的方向=].

但是,phone的陀螺仪会检测设备的旋转,因此"knows"无论是纵向还是横向图片。此信息保存在 JPEG 的元数据中。

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

但是,图像处理库通常会完全忽略此信息。它们只访问图像像素,并且按照它们存储的顺序访问它们。如你所见,python成像没有任何问题,但是如果有一个接口也可以读取这些信息,你会很感兴趣,所以你可以相应地处理它。