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

郑州有没有做妓男平台以及网站/信息流广告投放

郑州有没有做妓男平台以及网站,信息流广告投放,那个网站做图片好,企业服务类网站1. 批量移除xml标注中的某一个类别标签 # 批量移除xml标注中的某一个类别标签 import xml.etree.cElementTree as ET import os# xml文件路径 xml_path r./Annotations xml_files os.listdir(xml_path) # 需要删除的类别名称 CLASSES ["person"]for axml in xml…

1. 批量移除xml标注中的某一个类别标签

#  批量移除xml标注中的某一个类别标签
import xml.etree.cElementTree as ET
import os# xml文件路径
xml_path = r'./Annotations'
xml_files = os.listdir(xml_path)
# 需要删除的类别名称
CLASSES = ["person"]for axml in xml_files:path_xml = os.path.join(xml_path, axml)tree = ET.parse(path_xml)root = tree.getroot()for child in root.findall('object'):name = child.find('name').textif name in CLASSES:root.remove(child)tree.write(os.path.join(xml_path, axml))# import xml.etree.cElementTree as ET
# import os
# import shutil
# import logging# # 配置日志
# logging.basicConfig(filename='xml_process.log', level=logging.INFO,
#                     format='%(asctime)s - %(levelname)s - %(message)s')# def process_xml(xml_path, classes_to_remove):
#     backup_path = os.path.join(xml_path, '_backup')
#     os.makedirs(backup_path, exist_ok=True)#     for filename in os.listdir(xml_path):
#         if not filename.endswith('.xml'):
#             continue#         src_path = os.path.join(xml_path, filename)
#         dest_path = os.path.join(backup_path, filename)#         try:
#             # 备份原始文件
#             shutil.copy2(src_path, dest_path)
#             logging.info(f"已备份文件: {filename}")#             # 解析XML
#             tree = ET.parse(src_path, parser=ET.XMLParser(encoding='utf-8'))
#             root = tree.getroot()#             # 查找并删除目标节点
#             removed_count = 0
#             for obj in root.findall('.//{*}object'):  # 处理命名空间
#                 name_elem = obj.find('.//{*}name')
#                 if name_elem is not None and name_elem.text.lower() in [c.lower() for c in classes_to_remove]:
#                     root.remove(obj)
#                     removed_count += 1#             # 保存修改
#             tree.write(src_path, encoding='utf-8', xml_declaration=True)
#             logging.info(f"已处理文件: {filename}, 删除 {removed_count} 个标注")#         except ET.ParseError as e:
#             logging.error(f"XML解析错误 {filename}: {str(e)}")
#         except Exception as e:
#             logging.error(f"处理文件 {filename} 时发生错误: {str(e)}")# if __name__ == "__main__":
#     xml_folder = r'./Annotations'
#     target_classes = ["person"]
#     process_xml(xml_folder, target_classes)
#     print("批量处理完成,请检查日志文件 xml_process.log")

2. 修改标签的label名字

"""
使用python xml解析树解析xml文件,批量修改xml文件里object节点下name节点的text
"""import glob
import xml.etree.ElementTree as ET
path = r'./Annotations'    # xml文件夹路径
i = 0
for xml_file in glob.glob(path + '/*.xml'):# print(xml_file)tree = ET.parse(xml_file) obj_list = tree.getroot().findall('object') for per_obj in obj_list:if per_obj[0].text == 'dangerous-behavior':    # 找到错误的标签“ dangerous-behavior ”per_obj[0].text = 'climbing'    # 修改成“自己想要的标签名”i = i+1tree.write(xml_file)    # 将改好的文件重新写入,会覆盖原文件
print('共完成了{}处替换'.format(i))

3. 划分YOLOv11数据集

# 该代码用于划分yolov11数据集
import os
import shutil
import random# random.seed(0)  #随机种子,可自选开启
def split_data(file_path, label_path, new_file_path, train_rate, val_rate, test_rate):images = os.listdir(file_path)labels = os.listdir(label_path)images_no_ext = {os.path.splitext(image)[0]: image for image in images}labels_no_ext = {os.path.splitext(label)[0]: label for label in labels}matched_data = [(img, images_no_ext[img], labels_no_ext[img]) for img in images_no_ext if img in labels_no_ext]unmatched_images = [img for img in images_no_ext if img not in labels_no_ext]unmatched_labels = [label for label in labels_no_ext if label not in images_no_ext]if unmatched_images:print("未匹配的图片文件:")for img in unmatched_images:print(images_no_ext[img])if unmatched_labels:print("未匹配的标签文件:")for label in unmatched_labels:print(labels_no_ext[label])random.shuffle(matched_data)total = len(matched_data)train_data = matched_data[:int(train_rate * total)]val_data = matched_data[int(train_rate * total):int((train_rate + val_rate) * total)]test_data = matched_data[int((train_rate + val_rate) * total):]# 处理训练集for img_name, img_file, label_file in train_data:old_img_path = os.path.join(file_path, img_file)old_label_path = os.path.join(label_path, label_file)new_img_dir = os.path.join(new_file_path, 'train', 'images')new_label_dir = os.path.join(new_file_path, 'train', 'labels')os.makedirs(new_img_dir, exist_ok=True)os.makedirs(new_label_dir, exist_ok=True)shutil.copy(old_img_path, os.path.join(new_img_dir, img_file))shutil.copy(old_label_path, os.path.join(new_label_dir, label_file))# 处理验证集for img_name, img_file, label_file in val_data:old_img_path = os.path.join(file_path, img_file)old_label_path = os.path.join(label_path, label_file)new_img_dir = os.path.join(new_file_path, 'val', 'images')new_label_dir = os.path.join(new_file_path, 'val', 'labels')os.makedirs(new_img_dir, exist_ok=True)os.makedirs(new_label_dir, exist_ok=True)shutil.copy(old_img_path, os.path.join(new_img_dir, img_file))shutil.copy(old_label_path, os.path.join(new_label_dir, label_file))# 处理测试集for img_name, img_file, label_file in test_data:old_img_path = os.path.join(file_path, img_file)old_label_path = os.path.join(label_path, label_file)new_img_dir = os.path.join(new_file_path, 'test', 'images')new_label_dir = os.path.join(new_file_path, 'test', 'labels')os.makedirs(new_img_dir, exist_ok=True)os.makedirs(new_label_dir, exist_ok=True)shutil.copy(old_img_path, os.path.join(new_img_dir, img_file))shutil.copy(old_label_path, os.path.join(new_label_dir, label_file))print("数据集已划分完成")if __name__ == '__main__':file_path = r"./data/JPEGImages"  # 图片文件夹label_path = r'./data/labels'  # 标签文件夹new_file_path = r"./VOCdevkit"  # 新数据存放位置split_data(file_path, label_path, new_file_path, train_rate=0.8, val_rate=0.1, test_rate=0.1)

本文代码皆来自于CSDN博主,本文是为了方便自己使用做了汇总,参考:

笑脸惹桃花-CSDN博客

voc xml标签批量修改,更改、删除指定类别-CSDN博客

python批量修改labelme标注的json文件中的标签名_labelme批量修改标签-CSDN博客

http://www.whsansanxincailiao.cn/news/32022768.html

相关文章:

  • 龙华app网站制作/网络广告宣传怎么做
  • 青岛外贸网站制作/电子商务网站建设教程
  • 南京网站建设希丁哥/品牌营销策划方案怎么做才好
  • 手机网站改版/做百度推广怎么做才能有电话
  • 广州环保网站建设/百度网站客服电话
  • 公司做网站有问题怎么维权/国家优化防控措施
  • cn网站/百度优化插件
  • 有专门做面包的网站么/最新新闻实时新闻
  • 受欢迎的模板网站建设/业务网站制作
  • 建设com网站/百度指数网站
  • 个人做搜索引擎网站违法吗/武汉抖音seo搜索
  • org域名做商业网站/建站abc
  • 合肥瑶海区网站建设价格/网络销售怎么样
  • 久治县wap网站建设公司/手机建网站软件
  • 分类信息网站怎么做/百度开户返点
  • 星宿网站建设/竞价推广平台有哪些
  • 课程设计代做网站/小熊猫seo博客
  • 网站开发遇到过哪些技术难点/如何开展网络营销活动
  • 网站建设规划书目录/如何成为app推广代理
  • 企业宣传网站建设/信息流优化师职业规划
  • wordpress删除首页/汕头seo推广外包
  • wordpress黑暗/网站优化推广软件
  • 做古玩的网站/网站模板套用教程
  • wordpress doc嵌入/正规seo排名外包
  • 东莞市微网站官方网站/优化推广关键词
  • 深圳餐饮网站建立/天津百度推广电话
  • 四位一体网站开发/站长平台官网
  • 武汉交通建设网站/千万不要做手游推广员
  • 网站开发培训成都/百度营销是什么
  • 网站建设 合肥/百度竞价电话