首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PIL.Image.verify()破坏了将PIL图像转换为Numpy的能力

PIL.Image.verify()破坏了将PIL图像转换为Numpy的能力
EN

Stack Overflow用户
提问于 2019-10-01 23:11:20
回答 1查看 608关注 0票数 1

此代码按预期工作:

代码语言:javascript
运行
复制
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变成了一个对象,而不是图像数据:

代码语言:javascript
运行
复制
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的方法?还是我们真的要再打开图像?下面的内容确实有效,但很麻烦。

代码语言:javascript
运行
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-01 23:16:34

我是记录在案的行为

Image.verify() 验证文件的内容。对于从文件中读取的数据,此方法尝试确定文件是否已损坏,而不实际解码图像数据。如果此方法发现任何问题,则会引发适当的异常。如果在使用此方法后需要加载图像,则必须重新打开图像文件.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58193395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档