PIL.Image死记硬背图像

时间:2017-09-19 09:25:39

标签: python python-imaging-library

我正在使用PIL库加载图像并根据其exif标签旋转它。 问题是,由于某种原因,旋转增加了一个pading。 代码就像这样

def getImage(imgName):
    with Image.open(imgName) as image:
        try:
            for orientation in ExifTags.TAGS.keys():
                if ExifTags.TAGS[orientation] == 'Orientation':
                    break
            exif = dict(image._getexif().items())

            if exif[orientation] == 3:
                image = image.rotate(180, expand=True)
            elif exif[orientation] == 6:
                print(np.asarray(image, dtype=np.float32).shape) # shape = (3168, 4752, 3)
                image = image.rotate(270, expand=True)
                print(np.asarray(image, dtype=np.float32).shape) # shape = (4753, 3169, 3)
            elif exif[orientation] == 8:
                image = image.rotate(90, expand=True)


        except (AttributeError, KeyError, IndexError):
            # cases: image don't have getexif
            pass
        image = np.asarray(image, dtype=np.float32)

    return image

有人知道如何解决这个问题吗? (令人惊讶的是,这只发生在我使用的服务器(Linux)上,而不是我的笔记本电脑(Windows)

在我当地的mashine上我使用的是Python 3.5.3,Numpy 1.12.1和PIL 1.1.7

在服务器上,他们运行Python 3.5.2,Numpy 1.11.3和PIL 1.1.7

0 个答案:

没有答案