当前位置: 首页 > ds >正文

yolo格式分割标签可视化,coco-seg数据集

import cv2 
import numpy as np 
import os 
 
 
def visualize_mask_on_image(image_path, label_path, output_path): 
    # 读取图像 
    image = cv2.imread(image_path)  
    height, width, _ = image.shape  
 
    # 读取标签文件 
    try: 
        with open(label_path, 'r') as f: 
            lines = f.readlines()  
    except FileNotFoundError: 
        print(f"Label file {label_path} not found. Skipping...") 
        return 
 
    for line in lines: 
        parts = line.strip().split()  
        class_id = int(parts[0]) 
        # 提取归一化的坐标 
        normalized_coords = [float(x) for x in parts[1:]] 
        # 将归一化坐标转换为实际坐标 
        coords = [] 
        for i in range(0, len(normalized_coords), 2): 
            x = int(normalized_coords[i] * width) 
            y = int(normalized_coords[i + 1] * height) 
            coords.append([x,  y]) 
 
        # 将坐标转换为 numpy 数组 
        pts = np.array(coords,  np.int32)  
        pts = pts.reshape((-1,  1, 2)) 
 
        # 随机生成颜色 
        color = tuple(np.random.randint(0,  255, 3).tolist()) 
 
        # 在图像上绘制掩码 
        cv2.polylines(image,  [pts], True, color, 2) 
        cv2.fillPoly(image,  [pts], color) 
 
    # 保存图像 
    cv2.imwrite(output_path,  image) 
 
 
def process_images(image_dir, label_dir, output_dir): 
    # 确保输出目录存在 
    if not os.path.exists(output_dir):  
        os.makedirs(output_dir)  
 
    # 遍历图像目录中的所有文件 
    for filename in os.listdir(image_dir):  
        if filename.endswith(('.jpg',  '.jpeg', '.png')): 
            image_path = os.path.join(image_dir,  filename) 
            # 构造对应的标签文件路径 
            label_filename = os.path.splitext(filename)[0]  + '.txt' 
            label_path = os.path.join(label_dir,  label_filename) 
            # 构造输出文件路径 
            output_path = os.path.join(output_dir,  filename) 
 
            visualize_mask_on_image(image_path, label_path, output_path) 
 
 
# 请替换为实际的图像、标签和输出目录路径 
image_dir = 'coco128-seg/images/train2017/' 
label_dir = 'labels/train2017/' 
output_dir = 'results' 
 
process_images(image_dir, label_dir, output_dir) 
 

http://www.xdnf.cn/news/13441.html

相关文章:

  • 6个月Python学习计划 Day 19 - 模块与包的实战拆分
  • 【Java】在 Spring Boot 中集成 Spring Security + JWT 实现基于 Token 的身份认证
  • 使用Spring Boot Actuator构建用户应用
  • 发布一个angular的npm包(包含多个模块)
  • Nuclei PoC 编写详解:从入门到实践
  • PostgreSQL 数据库技术峰会重庆站回顾|IvorySQL 开源实践与社区生态
  • python打卡day50
  • Leetcode 3572. Maximize Y‑Sum by Picking a Triplet of Distinct X‑Values
  • 对3D对象进行形变分析
  • 基于“SpringBoot+uniapp的考研书库微信小程序设计与实现7000字论文
  • 新型DuplexSpy RAT可使攻击者完全控制Windows系统
  • 微信小程序中的计算属性库-miniprogram-computed
  • 23-Oracle 23 ai 区块链表(Blockchain Table)
  • Cursor 工具项目构建指南:MySql 数据库结构设计的 Cursor 规范
  • MongoDB 基础
  • 鸿蒙考试-Ability生命周期篇
  • 到院率最高提升40%,消费医疗用AI营销机器人跑赢增长焦虑
  • 【python深度学习】Day 50 预训练模型+CBAM模块
  • 高效多尺度网络与可学习离散小波变换用于盲运动去模糊
  • 第四章 RAG 知识库基础
  • CanFestival移植到STM32G4
  • HTML实现的2048游戏
  • 从算法到系统架构:AI生成内容连贯性技术深度解析
  • 全网首发!AgentCPM-GUI通过adb操控手机教程
  • pikachu靶场通关笔记23 SQL注入06-delete注入(报错法)
  • RT_Thread——邮箱
  • Monorepo + PNPM 搭建高效多项目管理
  • 基于流形迁移学习的快速动态多目标进化算法(MMTL-MOEA/D)求解FDA1-FDA5和dMOP1-dMOP3,提供完整MATLAB代码
  • ubuntu桌面x11异常修复
  • 《安富莱嵌入式周报》第354期: 开源36通道16bit同步数据采集卡,开源PoE以太网GPIB,分体式键盘DIY,微软WSL开源,USB转车载以太网