此代码按预期工作:
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 ()
有没有一种在verify()
之后将PIL映像转换为numpy的方法?还是我们真的要再打开图像?下面的内容确实有效,但很麻烦。
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)
发布于 2019-10-01 15:16:34
我是记录在案的行为
Image.verify()
验证文件的内容。对于从文件中读取的数据,此方法尝试确定文件是否已损坏,而不实际解码图像数据。如果此方法发现任何问题,则会引发适当的异常。如果在使用此方法后需要加载图像,则必须重新打开图像文件.。
https://stackoverflow.com/questions/58193395
复制相似问题