训练自己数据集时出现

在网上查了一下原因

发现是直接将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.验证结果,看是否还有问题

Logo

一站式 AI 云服务平台

更多推荐