[英]PIL.Image.verify() breaks ability to convert PIL image to Numpy
此代碼按預期工作:
import numpy as np
import PIL.Image
img = PIL.Image.open('test.png')
img_np = np.array(img)
print(img_np.dtype, img_np.shape)
> uint8 (192, 256)
當我添加verify()
時, img_np
變為 object,而不是圖像數據:
import numpy as np
import PIL.Image
img = PIL.Image.open('test.png')
img.verify()
img_np = np.array(img)
print(img_np.dtype, img_np.shape)
> object ()
有沒有辦法在verify()
之后將 PIL 圖像轉換為 numpy ? 還是我們真的必須再次打開圖像? 以下確實有效,但很hacky。
import numpy as np
import PIL.Image
img = PIL.Image.open('test.png')
img.verify()
img = PIL.Image.open('test.png')
img_np = np.array(img)
print(img_np.dtype, img_np.shape)
> uint8 (192, 256)
這是記錄在案的行為:
Image.verify()
驗證文件的內容。 對於從文件讀取的數據,此方法嘗試確定文件是否損壞,而不實際解碼圖像數據。 如果此方法發現任何問題,它會引發適當的異常。 如果使用此方法后需要加載圖像,則必須重新打開圖像文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.