Pytorch框架下的maskrcnn实例分割(含COCO格式转换)

一、数据准备

labelme2coco: 将LabelMe注解转换为COCO格式

1. 安装labelme2coco

pip install -U labelme2coco

2. 修改文件名
由于我的数据集图片名称中带有_w后缀labelmecoco无法识别转换,因此需要编写个rename.py脚本修改带_w的文件名,另外修改json文件名的同时要修改json文件内容,将imagePath一同修改

# #把图片文件名中_w部分删去并在前面+1
# import os
#
# # 指定要重命名文件的文件夹路径
# folder_path = "C:/.../maskrcnn-benchmark-main/maskrcnn-benchmark-main/data/json"
#
# # 遍历文件夹中的所有文件
# for filename in os.listdir(folder_path):
#     # 检查文件名中是否包含"_w"
#     if "_w" in filename:
#         # 获取文件的扩展名(如.jpg)
#         file_extension = os.path.splitext(filename)[1]
#         # 去掉文件名中的"_w"
#         new_filename = filename.replace("_w", "")
#         # 在文件名前加上"1"
#         new_filename = "1" + new_filename
#         # 完整的新文件名
#         new_filename_with_extension = new_filename + file_extension
#         # 获取完整的旧文件路径和新文件路径
#         old_file_path = os.path.join(folder_path, filename)
#         new_file_path = os.path.join(folder_path, new_filename_with_extension)
#         # 重命名文件
#         os.rename(old_file_path, new_file_path)
#         print(f"文件已重命名: {old_file_path} -> {new_file_path}")
# #
# ##修复双重扩展名问题;
# import os
#
# # 指定要修复文件扩展名的文件夹路径
# folder_path = "C:/.../maskrcnn-benchmark-main/maskrcnn-benchmark-main/data/json"
#
# # 遍历文件夹中的所有文件
# for filename in os.listdir(folder_path):
#     # 检查文件名中是否包含两个扩展名,如.jpg.jpg或.json.json
#     if filename.endswith(".jpg.jpg") or filename.endswith(".json.json"):
#         # 去掉多余的扩展名
#         new_filename = filename.replace(".jpg.jpg", ".jpg").replace(".json.json", ".json")
#         # 获取完整的旧文件路径和新文件路径
#         old_file_path = os.path.join(folder_path, filename)
#         new_file_path = os.path.join(folder_path, new_filename)
#         # 重命名文件
#         os.rename(old_file_path, new_file_path)
#         print(f"文件已修复: {old_file_path} -> {new_file_path}")
#遍历文件夹中的所有 JSON 文件,并将 imagePath 字段的值修改为与 JSON 文件名相对应的值:
import os
import json

# 指定包含 JSON 文件的文件夹路径
folder_path = "C:/.../maskrcnn-benchmark-main/maskrcnn-benchmark-main/data/json"

# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
    if filename.endswith(".json"):
        # 获取完整的 JSON 文件路径
        file_path = os.path.join(folder_path, filename)

        # 读取 JSON 文件内容
        with open(file_path, 'r', encoding='utf-8') as f:
            data = json.load(f)

        # 获取新的 imagePath 值
        new_image_path = filename.replace(".json", ".jpg")

        # 修改 JSON 中的 imagePath 值
        if 'imagePath' in data:
            old_image_path = data['imagePath']
            data['imagePath'] 
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值