Labelme 图像语义分割 Label data标注(Python)

一、简单介绍: 

链接:https://github.com/wkentaro/labelme

首先这是一个单纯的图像标注软件,可以理解为一个具有特殊用途的PS。

软件界面:

转换后的文件:

二、 软件安装: 

可以直接跟着地址里的英文教程走

 1. Python环境的搭建,环境变量的配置。

     如果安装过程中出现无法使用 python 命令的问题,参考以下链接:

     https://blog.csdn.net/sinat_40471574/article/details/91354263

2.  Anaconda下的软件安装:

    打开控制台:分别输入以下命令

    因为要下载安装文件,所以要等待一段时间。

conda install pyqt
pip install labelme

三、软件使用:

1.  软件打开:控制台输入labelme即可打开软件。

2.  软件保存:如图1中标记完文件以后保存到如D盘根目录下(注意要保存路径要和图片一致),会得到一个.json文件。

3.  文件转换:控制台进入到json文件的保存目录下,输入

labelme_json_to_dataset  文件名.json  -o  文件夹名称

等待一段时间,即可得到一个文件夹,里面有四个文件,如图2所示。

以下是一个示例的Python代码,用于对指定类别的labelme标注语义分割数据进行增强: ```python import os import cv2 import numpy as np def semantic_segmentation_augmentation(directory, save_directory, target_class): # 遍历指定目录下的文件 for filename in os.listdir(directory): if filename.endswith(".json"): # 查找以.json结尾的文件 json_file = os.path.join(directory, filename) image_file = json_file.replace(".json", ".jpg") # 将.json替换为.jpg if os.path.isfile(image_file): # 检查对应的图片文件是否存在 # 读取图片文件 image = cv2.imread(image_file) height, width, _ = image.shape # 读取JSON文件并获取标注信息 with open(json_file, 'r') as f: json_data = json.load(f) # 创建空白的语义分割图像 seg_image = np.zeros((height, width), dtype=np.uint8) # 处理每个标注对象 for shape in json_data['shapes']: class_name = shape['label'] if class_name == target_class: points = shape['points'] polygon_points = np.array(points, dtype=np.int32) cv2.fillPoly(seg_image, [polygon_points], 255) # 将增强后的语义分割图像保存到指定目录 save_path = os.path.join(save_directory, filename.replace(".json", ".png")) cv2.imwrite(save_path, seg_image) print(f"语义分割图像保存成功:{save_path}") else: print(f"找不到对应的图片文件:{image_file}") # 指定包含labelme标注文件的目录和保存增强后数据的目录 directory = "path/to/labelme/files" save_directory = "path/to/save/augmented/data" # 指定目标类别名称 target_class = "class_name" semantic_segmentation_augmentation(directory, save_directory, target_class) ``` 你需要将代码中的`"path/to/labelme/files"`替换为包含标注文件的实际目录路径,将`"path/to/save/augmented/data"`替换为你想要保存增强后数据的目录路径,将`"class_name"`替换为你想要增强的目标类别名称。运行代码后,它会遍历目录中的所有.json文件,读取标注信息并创建相应的语义分割图像,然后将增强后的语义分割图像保存到指定目录。 希望这可以帮到你!如果有任何问题,请随时问我。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值