亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python PIL讀取的圖像發生自動旋轉的實現方法

系統 2178 0

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

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

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

            
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”是將圖片尺寸也進行相應的變換。如果不加這句,則size不變。

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

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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 五月婷婷欧美 | 六月婷婷色 | 四虎免费在线播放 | 国产精品福利一区二区 | 色综合久久中文字幕 | 国产成人综合高清在线观看 | 日日狠狠久久8888av | 青青青手机版视频在线观看 | 国产精品免费久久久久影院 | 国产成人18黄网站麻豆 | 欧美色国 | 亚洲欧美人成人让影院 | 97免费视频在线 | 2019精品国产品免费观看 | 亚洲国产第一区二区香蕉 | 亚洲va久久久噜噜噜久久男同 | 国产成人精品免费视 | 久久精品综合免费观看 | 涩涩色视频在线播放 | www.草草草| 久久综合一区二区三区 | 精品综合久久久久久88小说 | 亚洲国产人成在线观看69网站 | 久99久精品免费视频热77 | 久久日韩精品激情 | 日本高清在线观看天码888 | 国产成人精品午夜免费 | 日本黄色录像 | 精品在线观看国产 | 国产亚洲精品久久精品6 | 亚洲精品国产成人一区二区 | 免费尤物视频 | 国产一级毛片欧美视频 | 久久精品国产99国产精品 | 久久91精品牛牛 | 午夜国产精品久久久久 | 99婷婷久久精品国产一区二区 | 久久精品片 | 奇米影视777me | 久久综合资源 | 中国美女牲交一级毛片 |