我正在嘗試創建一個選擇 jpg 檔案的專案,在一個小框架中顯示影像并在下面的標簽中列出所需的 exif 值。我必須使用 PIL Image 來書寫檔案并獲取“影像”(我真的不知道變數內容是什么)我十調整該檔案的大小,然后將其轉換為 Tinter Label 可以使用 label = pilpic 顯示的內容
from PIL import ImageTk, Image
....
self.img1=Image.open(self.imagefile)
self.img2=self.img1.resize((300,300), Image.Resampling.NEAREST)
self.pilpic=ImageTk.PhotoImage(self.img2)
在我介紹 exif 模塊之前,這完全符合預期。
from exif import Image
.....
指令相同:self.exifdata=Image.open(self.imagefile)
但是當然影像已經被拍攝了,雖然這個命令有效,但 self.exifdata 檔案在其他 exif 命令中沒有用,例如:
if self.exifdata.has_exif:
完全失敗,因為我懷疑 Image.open 來自 OPIL 并且變數 self.exifdata 的內容與 exif 命令不兼容
現在取決于我首先列出的模塊運動功能,它以各種其他方式失敗,所有這些都與使用錯誤 Image.open 的代碼位中的一個或另一個完全一致
我會使用其他一些模塊來打開檔案以在 tinter Label 中顯示或提取 exif 資料。
在這個階段枕頭/PIL 是我唯一可以做顯示部分的,并且能夠調整影像大小以適合框架/標簽。
我會使用“exif”以外的另一個模塊來提取 exif 資料,但“exif”是我發現的唯一一個 a) 易于使用 b) 易于從和 c) 獲取正確字串資料的模塊... . 無需重新編碼宇宙和理解奇怪的數學即可提供 GPS 資料。
那么,誰能告訴我如何匯入這兩個 Image 函式并讓它們幸福地生活在一起?
uj5u.com熱心網友回復:
您可以使用別名匯入它:
from exif import Image as exImage
然后你可以在你的代碼中使用它的名字exImage。它不會干擾Imagefrom PIL。
順便說一句,PIL.Image有._getexif()方法,可以做你想做的事,而不需要exif.
img._getexif()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/471337.html
標籤:Python 图片 tkinter python成像库 exif
上一篇:RGB陣列到PIL影像
