当前位置:   article > 正文

图片格式导致的报错:Attribute Error: 'NoneType' object has no attribute 'astype' 解决方案 (已解决)_attributeerror: 'nonetype' object has no attribute

attributeerror: 'nonetype' object has no attribute 'astype

https://blog.csdn.net/weixin_43826242/article/details/90325955

https://blog.csdn.net/weixin_43826242/article/details/90325955

原因:

(也可能是没加入mask的原因)

解决关键:验证数据集中的照片格式是否正确

出错的原因:

数据集中所有的照片虽然都是.jpg格式的,但是有的照片没有进行转码,只是更改了后缀,因此在模型加载的时候才会报错。

错误的原因正是因为后缀名和图片的实际格式不符,才会导致imread读入为空

可以使用PIL工具将所有的jpg图片转换成为jpg图片,从而避免这样的麻烦。

 

  1. # 将所有的图片转换成为jpg格式(防止因为图片格式造成的cv2.imread()异常)
  2. # 将所有的图片转换成为jpg格式(防止因为图片格式造成的cv2.imread()异常)
  3. import PIL.Image as Image
  4. import os
  5. # 'DUT-OMRON', 'DUTS-TE', 'ECSSD', 'HKU-IS', 'PASCALS', 'SOD', 'THUR15K'
  6. DataSet = ['HKU-IS', 'PASCALS', 'SOD', 'THUR15K']
  7. for id, dataset in enumerate(DataSet):
  8. Path1 = '/home/nk/zjc/PycharmProjects/nk_GCPANet/data/'
  9. Path2 = dataset + '/Imgs/'
  10. filelist = os.listdir(Path1 + Path2)
  11. print(id, '=>', Path1 + Path2)
  12. filelist = sorted(filelist)
  13. for file in filelist:
  14. img = Image.open(Path1 + Path2 + file).convert('RGB')
  15. # print(img)
  16. img.save(Path1 + Path2 + file)
  17. print('=>', Path1 + Path2 + file)
  18. print('Done!')
  1. # 将所有的图片转换成为jpg格式(防止因为图片格式造成的cv2.imread()异常)
  2. import PIL.Image as Image
  3. import os
  4. Path = './SOD/'
  5. def start(Path):
  6. filelist = os.listdir(Path + 'JPEGImages/')
  7. for file in filelist:
  8. img = Image.open(Path + 'JPEGImages/' + file).convert('RGB')
  9. # print(img)
  10. img.save(Path + file)
  11. print('Done!')

 

 

 

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

闽ICP备14008679号