最近使用YoloV4对验证码模型训练,发现图片位深度为8 的图片无法进行识别,报了个Cannot Load image, Error in load_data_detection() - OpenCV
本以为是图片路径问题,结果测试过后,路径没问题, 后发现图片的深度是8,将图片位深度转换为24后就可以正常训练了,记录一下,以下是转换代码:
import numpy as np
from PIL import Image
import os
path='img_8/'
newpath='change_24/'
def turnto24(path):
files = os.listdir(path)
files = np.sort(files)
i = 0
for f in files:
imgpath = path + f
img = Image.open(imgpath).convert('RGB')
dirpath = newpath
file_name, file_extend = os.path.splitext(f)
dst = os.path.join(os.path.abspath(dirpath), file_name + '.jpg')
img.save(dst)
turnto24(path)
转载:https://blog.csdn.net/u010320736/article/details/110161862