起因是在使用yolov5训练模型的时候出现了下面的情况
很是懊恼,查找了其他博客得知,应该是jpg文件损坏。
我的解决方法如下:
使用opencv将有问题的图片(或者整个数据集)读取并保存一遍,因为opencv保存出来的图片是没有损坏的
代码如下,修改一下文件目录就可以直接用了
import cv2
import os
def read_and_save_images(folder_path, save_folder):
# 检查保存文件夹是否存在,如果不存在则创建
if not os.path.exists(save_folder):
os.makedirs(save_folder)
# 获取文件夹中的所有文件
file_list = os.listdir(folder_path)
for filename in file_list:
img_path = os.path.join(folder_path, filename)
# 读取图片
img = cv2.imread(img_path)
if img is not None:
# 保存图片
save_path = os.path.join(save_folder, filename)
cv2.imwrite(save_path, img)
print(f'Saved image: {save_path}')
else:
print(f'Failed to read image: {img_path}')
# 指定文件夹路径和保存文件夹路径
folder_path = 'your_folder_path'
save_folder = 'your_save_folder_path'
read_and_save_images(folder_path, save_folder)
修改完以后再次进行训练就没有出现问题了