python 读png的值变了_python – 为什么scipy.ndimage.io.imread返回PngImageFile,而不是值数组...

您可能有一个不完整的Python成像库(PIL)安装,SciPy依赖它来读取图像. PIL依赖于libjpeg加载JPEG图像和libz来加载PNG图像,但是可以在没有任何图像的情况下安装(在这种情况下,它无法加载库中缺少的任何图像).

我有与上面描述的JPEG图像完全相同的问题.不会引发任何错误消息,而是SciPy调用只返回一个包装的PIL对象,而不是正确地将图像加载到数组中,这使调试变得特别棘手.但是,当我尝试直接使用PIL加载图像时,我得到了:

> import Image

> im = Image.open('001988.jpg')

> im

> im.size

> (333, 500)

> pixels = im.load()

IOError: decoder jpeg not available

所以我卸载了我的PIL副本,安装了丢失的libjpeg(在我的情况下,可能是你的libz),重新安装PIL以注册库的存在,现在加载SciPy的图像完美地工作:

> from scipy import ndimage

> im = ndimage.imread('001988.jpg')

> im.shape

(500, 333, 3)

> im

array([[[112, 89, 48], ...

..., dtype=uint8)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值