YOLOv8实例分割离线数据增强,标签可视化!

YOLOv8实例分割离线数据增强的方式:首先使用labelme对图像进行标注,将图像和标注文件存放到images_json文件夹中,然后使用离线数据增强代码对进行增强。

代码较长,完整代码下载地址:完整代码

使用步骤:

1.在代码中设置增强次数和文件路径,选择想要数据增强的方式
复制代码
if __name__ == '__main__':

    need_aug_num = 5  # 每张图片需要增强的次数

    toolhelper = ToolHelper()  # 工具

    is_endwidth_dot = True  # 文件是否以.jpg或者png结尾

    dataAug = DataAugmentForObjectDetection()  # 数据增强工具类

    # 获取相关参数
    parser = argparse.ArgumentParser()
    parser.add_argument('--source_img_json_path', type=str, default='H:/CSDN/DataAugForObjectSegmentation/images_json')
    parser.add_argument('--save_img_json_path', type=str, default='H:/CSDN/DataAugForObjectSegmentation/images_json2')
    args = parser.parse_args()
    source_img_json_path = args.source_img_json_path  # 图片和json文件原始位置
    save_img_json_path = args.save_img_json_path  # 图片增强结果保存文件


        # 是否使用某种增强方式
        self.is_addNoise = True
        self.is_changeLight = is_changeLight
        self.is_random_point = is_random_point
        self.is_filp_pic_bboxes = is_filp_pic_bboxes
        self.is_shift_pic_bboxes = True
2.标签可视化代码如下:
复制代码
import os
import json
import cv2
import numpy as np

# 设置源文件夹和目标文件夹路径

source_folder = 'H:/Data-enhancement-main/Data-enhancement/DataAugForObjectSegmentation/images_json2'
target_folder = 'H:/Data-enhancement-main/Data-enhancement/DataAugForObjectSegmentation/images_json2keshihua'

# 确保目标文件夹存在
if not os.path.exists(target_folder):
    os.makedirs(target_folder)

# 遍历源文件夹中的所有文件
for file_name in os.listdir(source_folder):
    if file_name.endswith('.json'):
        json_path = os.path.join(source_folder, file_name)
        with open(json_path) as json_file:
            data = json.load(json_file)

        # 获取图片路径
        image_path = os.path.join(source_folder, data['imagePath'])

        # 读取图片
        image = cv2.imread(image_path)

        # 遍历所有的标注
        for shape in data['shapes']:
            points = np.array(shape['points'], dtype=np.int32)
            cv2.polylines(image, [points], True, (0, 255, 0), 2)  # 标注为绿色线条

        # 保存标注后的图片
        cv2.imwrite(os.path.join(target_folder, file_name.replace('.json', '.png')), image)

print("标注可视化完成,并保存到指定文件夹。")
相关推荐
程序猿编码11 小时前
YOLOv5/v7/YOLOX 全支持:基于 TensorRT 的工业视觉推理底座详解
c++·yolo·机器学习·推理·模型推理
JulyLi20191 天前
yolo检测适配昇腾Atlas300IDuo笔记
yolo·1024程序员节
IT研究室2 天前
最新计算机毕业设计选题推荐-基于深度学习的面部关键特征识别与检测-运行部署-文档指导-深度学习-YOLO
人工智能·深度学习·yolo·课程设计
AI棒棒牛3 天前
基于 IDEAL 思想的 YOLO26 双分支适配:差异证据与不确定性门控,RGB+IR双分支创新!
人工智能·深度学习·yolo·目标检测·yolo26
qq_25294131683 天前
多模态屋顶损伤与杂物检测数据集 | 屋顶检测 多模态 红外可见光 建筑巡检 目标检测9232期
人工智能·深度学习·yolo·目标检测·计算机视觉·屋顶
jay神3 天前
基于 YOLOv11 的无人机航拍小目标检测系统
人工智能·深度学习·yolo·目标检测·计算机视觉·无人机·计算机毕业设计
jay神3 天前
基于 YOLOv8 的手势识别系统
人工智能·深度学习·yolo·机器学习·计算机视觉·目标跟踪·课程设计
qq_25294131684 天前
不同成熟度番茄果实多模态图像数据集 | 番茄成熟度 多模态检测 可见光深度红外 智慧农业 语义分割 目标检测9233期
人工智能·yolo·目标检测·目标跟踪·番茄多模态
jay神4 天前
基于 YOLOv8 的垃圾分类识别系统
人工智能·深度学习·yolo·机器学习·目标跟踪·分类·计算机毕业设计
qq_25294131684 天前
航拍地面垃圾检测数据集 | 垃圾检测 航拍巡检 环境治理 目标检测 YOLO格式9224期
人工智能·yolo·目标检测·计算机视觉·垃圾检测·航拍地面