一行代码解决PIL/OpenCV读取图片出现自动旋转的问题 |
您所在的位置:网站首页 › 镜像翻转的图片变糊了怎么办恢复 › 一行代码解决PIL/OpenCV读取图片出现自动旋转的问题 |
当使用手机、相机拍照时,由于手持朝向不同,拍出的照片可能会出现旋转 0/90/180/270 度的情况。电脑上打开显示照片是正常的,但在用 PIL 或 OpenCV 读取图片后,图片出现旋转。 如下图所示,在电脑上直接打开是正常的。 然而,在程序里用PIL/OpenCV直接读取时可能方向发生了旋转,导致后续处理出错,如下所示: 那么怎么让它正常显示呢? CSDN上已经有一些“解决方案”,如Python - PIL读取图片出现自动旋转的解决方案和 Python: PIL读取的图像发生自动旋转,不仅代码长,且经本人和一些网友亲测,均无效。 最后,上google终于找到了真正的解决方案,调用一个库函数即可: from PIL import ImageOps image = ImageOps.exif_transpose(image)具体示例: from PIL import Image, ImageOps import matplotlib.pyplot as plt image_path="E:/dataset/IMG_1954.JPG" #图像路径 image = Image.open(sample_path).convert('RGB') #读取图像 image = ImageOps.exif_transpose(image) #恢复正常角度的图像 plt.imshow(image)#显示图像 plt.show()结果如下图: |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |