利用txt标签文件制作分割或检测网络的掩码模板(python)

本文介绍了一个Python脚本,用于将.txt标签文件转换为掩码模板,使用OpenCV库读取和处理图像,适用于DRIONS-DB项目中的图像标注。脚本遍历图像列表,读取txt掩码文件,并生成对应掩码图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现的效果如下图所示,将txt标签文件转化为掩码模板。需要注意的是,我写的保存的掩码模板和图像的名称一样,你如果觉得不合适可以修改。

需要修改对应的,图像地址、txt掩码文件地址以及你想保存的掩码地址。

img_dir = r'../DRIONS-DB/DRIONS-DB/images'
txt_mask = r'../DRIONS-DB/DRIONS-DB/experts_anotation'
mask_save_path = r'../DRIONS-DB/DRIONS-DB/labels'
# coding:utf8

import os
import cv2
import numpy as np
from tqdm import tqdm

img_dir = r'../DRIONS-DB/DRIONS-DB/images'
txt_mask = r'../DRIONS-DB/DRIONS-DB/experts_anotation'
mask_save_path = r'../DRIONS-DB/DRIONS-DB/labels'


def visualize_txt(image_name, label_name, name):

    with open(label_name, "r") as file:
        lines = file.readlines()

    # 创建一个空白图像
    img = cv2.imread(image_name)
    height, width = img.shape[:2]

    mask = np.zeros((height, width), dtype=np.uint8)
    points = [(int(float(point.split(',')[0])), int(float(point.split(',')[1]))) for point in lines]
    cv2.fillPoly(mask, [np.array(points)], color=255)

    # # 显示或保存掩码
    # cv2.imshow("Mask", mask)
    # cv2.waitKey(0)
    # cv2.destroyAllWindows()

    # 如果需要保存为图像文件
    save_path = os.path.join(mask_save_path, name.split('.')[0] + '.png')
    cv2.imwrite(save_path, mask)


if __name__ == '__main__':
    img_list = os.listdir(img_dir)
    label_list = os.listdir(txt_mask)

    for i, j in enumerate(tqdm(img_list)):
        visualize_txt(os.path.join(img_dir, img_list[i]), os.path.join(txt_mask, label_list[i]), img_list[i])


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jay_Mapp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值