图片格式导致的报错:Attribute Error: ‘NoneType‘ object has no attribute ‘astype‘ 解决方案

原因:

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

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

出错的原因:

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

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

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

 # 将所有的图片转换成为jpg格式(防止因为图片格式造成的cv2.imread()异常)
import os
from PIL import Image
train_files = os.listdir('datas/bg_images')
for file in train_files:
    img = Image.open(f'datas/bg_images/{
      
      file}')
    format = img.format  # 图像格式
    if format != 'JPEG':
        print(file)
        print(format)
        new_img = img.convert("RGB")
        new_img.save(f'datas/bg_images/{
      
      file}', 'JPEG')

猜你喜欢

转载自blog.csdn.net/qq236237606/article/details/127783866
今日推荐