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

时间:2016-08-24 20:56:00

标签: python image python-imaging-library

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

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

我试图用python打开它:

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

不幸的是,在python中,它的尺寸总是宽度= 2576,高度= 1932。它会永远发生,我可以解决它,但似乎只有我的一些图像发生。图像始终顺时针旋转。

我是否使用了open-function错误或者我如何解决这个问题?

非常感谢。

此致

凯文

- 编辑 -

解决方案:

1)请阅读接受的答案

2)以下代码可用于避免此问题:https://stackoverflow.com/a/11543365/916672

1 个答案:

答案 0 :(得分:1)

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

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

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

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