欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python PIL讀取的圖像發(fā)生自動旋轉(zhuǎn)的實現(xiàn)方法

 更新時間:2019年07月05日 14:48:22   作者:mzp_1990  
這篇文章主要介紹了Python PIL讀取的圖像發(fā)生自動旋轉(zhuǎn)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

對于手機、相機等設(shè)備拍攝的照片,由于手持方向的不同,拍出來的照片可能是旋轉(zhuǎn)0°、90°、180°和270°。即使在電腦上利用軟件將其轉(zhuǎn)正,他們的exif信息中還是會保留方位信息。

在用PIL讀取這些圖像時,讀取的是原始數(shù)據(jù),也就是說,即使電腦屏幕上顯示是正常的照片,用PIL讀進來后,也可能是旋轉(zhuǎn)的圖像,并且圖片的size也可能與屏幕上的不一樣。

對于這種情況,可以利用PIL讀取exif中的orientation信息,然后根據(jù)這個信息將圖片轉(zhuǎn)正后,再進行后續(xù)操作,具體如下。

from PIL import Image, ExifTags
img = Image.open(file)
try:
  for orientation in ExifTags.TAGS.keys() : 
    if ExifTags.TAGS[orientation]=='Orientation' : break 
  exif=dict(img._getexif().items())
  if  exif[orientation] == 3 : 
    img=img.rotate(180, expand = True)
  elif exif[orientation] == 6 : 
    img=img.rotate(270, expand = True)
  elif exif[orientation] == 8 : 
    img=img.rotate(90, expand = True)
except:
  pass

順便提一句,這里rotate中的“expand = True”是將圖片尺寸也進行相應(yīng)的變換。如果不加這句,則size不變。

詳情參見:https://stackoverflow.com/questions/4228530/pil-thumbnail-is-rotating-my-image

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python?Matplotlib繪制箱線圖boxplot()函數(shù)詳解

    Python?Matplotlib繪制箱線圖boxplot()函數(shù)詳解

    箱線圖一般用來展現(xiàn)數(shù)據(jù)的分布(如上下四分位值、中位數(shù)等),同時也可以用箱線圖來反映數(shù)據(jù)的異常情況,下面這篇文章主要給大家介紹了關(guān)于Python?Matplotlib繪制箱線圖boxplot()函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 淺談Python3.10 和 Python3.9 之間的差異

    淺談Python3.10 和 Python3.9 之間的差異

    多年來,Python 進行了大量升級,并且在新版本中添加了許多功能。本文就詳細的介紹 一下Python3.10 和 Python3.9差異,感興趣的朋友可以了解一下
    2021-09-09
  • django-rest-swagger的優(yōu)化使用方法

    django-rest-swagger的優(yōu)化使用方法

    今天小編就為大家分享一篇django-rest-swagger的優(yōu)化使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 基于Python+OpenCV制作屏幕錄制工具

    基于Python+OpenCV制作屏幕錄制工具

    這篇文章主要介紹了如何利用Python?OpenCV實現(xiàn)屏幕錄制工具的制作,文中的示例代碼講解詳細,對我們的學習和工作有一定的價值,感興趣的可以學習一下
    2022-01-01
  • Python優(yōu)先隊列實現(xiàn)方法示例

    Python優(yōu)先隊列實現(xiàn)方法示例

    這篇文章主要介紹了Python優(yōu)先隊列實現(xiàn)方法,結(jié)合實例形式分析了Python優(yōu)先隊列的具體定義與使用方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2017-09-09
  • Python3 能振興 Python的原因分析

    Python3 能振興 Python的原因分析

    我從Stephen A. Goss那讀到關(guān)于了《Python 3正在毀滅Python》。這篇文章有不少精彩的論點,但我卻并不認為Python 3是在毀滅Python,也不認為整個局面對Python一點也不利
    2014-11-11
  • python寫的本地WIFI密碼查看器的具體代碼

    python寫的本地WIFI密碼查看器的具體代碼

    本文主要分享一個本地wifi密碼查看器,用python實現(xiàn)的,代碼簡單易懂,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Python 根據(jù)數(shù)據(jù)模板創(chuàng)建shapefile的實現(xiàn)

    Python 根據(jù)數(shù)據(jù)模板創(chuàng)建shapefile的實現(xiàn)

    今天小編就為大家分享一篇Python 根據(jù)數(shù)據(jù)模板創(chuàng)建shapefile的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python解決方案:WindowsError: [Error 2]

    python解決方案:WindowsError: [Error 2]

    使用Python的rename()函數(shù)重命名文件時出現(xiàn)問題,提示 WindowsError: [Error 2] 錯誤,需要的朋友可以參考下
    2016-08-08
  • pandas基礎(chǔ)?Series與Dataframe與numpy對二進制文件輸入輸出

    pandas基礎(chǔ)?Series與Dataframe與numpy對二進制文件輸入輸出

    這篇文章主要介紹了pandas基礎(chǔ)Series與Dataframe與numpy對二進制文件輸入輸出,series是一種一維的數(shù)組型對象,它包含了一個值序列和一個數(shù)據(jù)標簽
    2022-07-07

最新評論