‘/tmp/pip-uninstall-srp_brok">
当前位置:   article > 正文

解决报错:IOError: broken data stream when reading image file

broken data stream when reading image file

报错如下:

File "/Library/Python/2.6/site-packages/PIL/ImageFile.py", line 215, in load raise_ioerror(e)
File "/Library/Python/2.6/site-packages/PIL/ImageFile.py", line 52, in raise_ioerror
raise IOError(message + " when reading image file")
IOError: broken data stream when reading image file
  • 1
  • 2
  • 3
  • 4

可以看出是PIL出现了问题,可按照以下步骤解决:
(1) 查看Pillow的版本
使用以下命令查看,博主使用版本为5.2.0 . 若不对,可卸载,再安装

pip list
sudo pip uninstall pillow
sudo pip install pillow==5.2.0
  • 1
  • 2
  • 3

(2) 若还未能解决,利用opencv进行读取数据
安装opencv命令如下:

sudo pip install opencv-python
  • 1

安装完成后,导入opencv包

from PIL import Image
import cv2
  • 1
  • 2

改变读取数据的代码:

 #img = Image.open(os.path.join(self.root, 'data', '{}2014'.format(self.phase), filename)).convert('RGB')
  img = cv2.imread(os.path.join(self.root, 'data', '{}2014'.format(self.phase), filename))
  img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)   # 两个函数分开写
  img = Image.fromarray(img)   # 数据格式转换
  • 1
  • 2
  • 3
  • 4

(3) 最后,如出现报错:

Corrupt JPEG data: premature end of data segment
  • 1

将数据集删除,重新下载解压,即可解决问题!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/219452
推荐阅读
相关标签
  

闽ICP备14008679号