2016-08-24 73 views
2

我在我的电脑上有一个尺寸为width = 1932和height = 2576的图像。它是用智能手机制作的,并使用“jpeg”格式。Python图像库:图像转过90度?

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

我试图用蟒打开:

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

不幸的是在python它总是具有尺寸宽度= 2576和高度= 1932。它会一直发生,我可以修复它,但似乎只发生在我的一些图像上。图像总是顺时针旋转。

我是否使用开放功能错误或我该如何解决这个问题?

非常感谢。

问候

凯文

- 编辑 -

解决方案:

1)请阅读接受的答案

2)下面的代码可被用来避免此问题:https://stackoverflow.com/a/11543365/916672

+2

jpeg-files可以包含一个方向。 – Daniel

回答

1

当您使用智能手机和风景图片拍摄人像照片时,两者都将使用相同的坐标系统完成,即相对于手机中成像传感器的方向。

但是,手机的陀螺仪检测设备的旋转,因此它“知道”它是否是人像或风景照片。这些信息保存在JPEG的元数据中。

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

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

+0

谢谢你的提示:)! –