我正在使用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