此代码可以正常工作:
this
当我添加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
是否有办法在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 ()
之后将PIL图像转换为numpy?还是我们真的必须再次打开图像?下面的方法确实有效,但是很hacky。
verify()
答案 0 :(得分:1)
Image.verify()
验证文件的内容。对于从文件读取的数据,此方法尝试确定文件是否损坏,而无需实际解码图像数据。如果此方法发现任何问题,它将引发适当的异常。 如果使用此方法后需要加载图像,则必须重新打开图像文件。