解决 YOLOv8的train: WARNING ⚠️.jpg: corrupt JPEG restored and saved
3.直接运行py文件,会直接将转换后的文件保存在image文件夹下。2.可以将之前的要穿换的images文件名改为oldimage。发现是直接将png图片扩展名修改成jpg,造成图片失真问题。解决: 使用OpenCV模块将图片读出再写入,具体代码如下。1.在数据集的目录下创建transform.py 文件。4.验证结果,看是否还有问题。训练自己数据集时出现。
·
训练自己数据集时出现

在网上查了一下原因
发现是直接将png图片扩展名修改成jpg,造成图片失真问题
解决: 使用OpenCV模块将图片读出再写入,具体代码如下
import os
import cv2
if __name__ == '__main__':
#改为自己图片的路径,以及想要保存的路径
dataDir = r"D:\YOLOv8Detection\ultralytics-main\datasets\strawberries\val\oldimage"
saveDir = r"D:\YOLOv8Detection\ultralytics-main\datasets\strawberries\val\images"
# 创建目标文件
if not os.path.exists(saveDir):
os.makedirs(saveDir)
# 遍历源文件夹内的所有文件和文件夹
for pic in os.listdir(dataDir):
# 找出每个文件的完整路径
old_path = os.path.join(dataDir, pic)
# OpenCV的imread读取图片。
new_img = cv2.imread(old_path)
# 图片在新文件夹中的完整路径
new_path = os.path.join(saveDir, pic)
# 将图片保存到新路径
cv2.imwrite(new_path, new_img) #
print("图片转换成功!")
下面操作步骤,
1.在数据集的目录下创建transform.py 文件
2.可以将之前的要穿换的images文件名改为oldimage
3.直接运行py文件,会直接将转换后的文件保存在image文件夹下
4.验证结果,看是否还有问题
更多推荐




所有评论(0)