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

用vs怎么做网站的导航搜狗优化排名

用vs怎么做网站的导航,搜狗优化排名,给企业做宣传网站的好处,影楼网站建设目录 前言 思路介绍 代码 完整代码 拓展代码 前言 很多人在进行目标检测训练时习惯将得到的数据标注为XML文件的VOC格式,或者在网上获取的数据集被标注为XML文件,但是不同的标注工具进行的标注会产生不同的标注xml文件,这里我写了一种通用…

目录

前言

思路介绍

代码

完整代码

拓展代码


前言

        很多人在进行目标检测训练时习惯将得到的数据标注为XML文件的VOC格式,或者在网上获取的数据集被标注为XML文件,但是不同的标注工具进行的标注会产生不同的标注xml文件,这里我写了一种通用的针对含有最基本图片和标注坐标信息的xml进行转换,在这里简单介绍并分享出来

思路介绍

        xml文件中最基本需要含有的信息为size,object下的name和bndbox,具体示例如下图(如果xml文件中没有size也就是图片的宽和高则需要单独对每个图片进行读取,感兴趣可以私聊,这里不展开介绍)

 

        可以看到这几个标签下包含了标注的全部信息,接着进行转换

代码

        核心代码为,提取所需要的信息

size = root.find('size')
width = int(size.find('width').text)
height = int(size.find('height').text)
# 存储name和对应的归一化坐标
objects = []
# 遍历XML中的object标签
for obj in root.findall('object'):name = obj.find('name').textif name in category_to_index:category_index = category_to_index[name]else:continue  # 如果name不在指定类别中,跳过该objectbndbox = obj.find('bndbox')xmin = int(bndbox.find('xmin').text)ymin = int(bndbox.find('ymin').text)xmax = int(bndbox.find('xmax').text)ymax = int(bndbox.find('ymax').text)

        归一化代码如下,这也是YOLO格式的通用归一化代码

x_center = (xmin + xmax) / 2.0
y_center = (ymin + ymax) / 2.0
w = xmax - xmin
h = ymax - yminx = x_center / width
y = y_center / height
w = w / width
h = h / height

        这里最下边四行代码即为txt中每一行后四位数字

完整代码

        完整代码如下

import os
import xml.etree.ElementTree as ET# 定义类别顺序
categories = ['eggplant']
category_to_index = {category: index for index, category in enumerate(categories)}# 定义输入文件夹和输出文件夹
input_folder = r'D:\Annotations'  # 替换为实际的XML文件夹路径
output_folder = r'D:\labels'  # 替换为实际的输出TXT文件夹路径# 确保输出文件夹存在
os.makedirs(output_folder, exist_ok=True)# 遍历输入文件夹中的所有XML文件
for filename in os.listdir(input_folder):if filename.endswith('.xml'):xml_path = os.path.join(input_folder, filename)# 解析XML文件tree = ET.parse(xml_path)root = tree.getroot()# 提取图像的尺寸size = root.find('size')width = int(size.find('width').text)height = int(size.find('height').text)# 存储name和对应的归一化坐标objects = []# 遍历XML中的object标签for obj in root.findall('object'):name = obj.find('name').textif name in category_to_index:category_index = category_to_index[name]else:continue  # 如果name不在指定类别中,跳过该objectbndbox = obj.find('bndbox')xmin = int(bndbox.find('xmin').text)ymin = int(bndbox.find('ymin').text)xmax = int(bndbox.find('xmax').text)ymax = int(bndbox.find('ymax').text)# 转换为中心点坐标和宽高x_center = (xmin + xmax) / 2.0y_center = (ymin + ymax) / 2.0w = xmax - xminh = ymax - ymin# 归一化x = x_center / widthy = y_center / heightw = w / widthh = h / heightobjects.append(f"{category_index} {x} {y} {w} {h}")# 输出结果到对应的TXT文件txt_filename = os.path.splitext(filename)[0] + '.txt'txt_path = os.path.join(output_folder, txt_filename)with open(txt_path, 'w') as f:for obj in objects:f.write(obj + '\n')

拓展代码

        这个代码类别还需要自己获取并填写,这里给出一种更简单的方法,可以省去填写标签列表的环节并且自动类别编号,完整代码如下

import os
import xml.etree.ElementTree as ET
names_set = set()input_folder = r'D:\Annotations'  # 替换为实际的XML文件夹路径
output_folder = r'D:\labels'  # 替换为实际的输出TXT文件夹路径for filename in os.listdir(input_folder):if filename.endswith('.xml'):tree = ET.parse(os.path.join(input_folder, filename))root = tree.getroot()for obj in root.findall('object'):name = obj.find('name').textnames_set.add(name)
# 输出所有的name
categories = []
for name in names_set:categories.append(name)
print(categories)category_to_index = {category: index for index, category in enumerate(categories)}
os.makedirs(output_folder, exist_ok=True)# 遍历输入文件夹中的所有XML文件
for filename in os.listdir(input_folder):if filename.endswith('.xml'):xml_path = os.path.join(input_folder, filename)# 解析XML文件tree = ET.parse(xml_path)root = tree.getroot()# 提取图像的尺寸size = root.find('size')width = int(size.find('width').text)height = int(size.find('height').text)# 存储name和对应的归一化坐标objects = []# 遍历XML中的object标签for obj in root.findall('object'):name = obj.find('name').textif name in category_to_index:category_index = category_to_index[name]else:continue  # 如果name不在指定类别中,跳过该objectbndbox = obj.find('bndbox')xmin = int(bndbox.find('xmin').text)ymin = int(bndbox.find('ymin').text)xmax = int(bndbox.find('xmax').text)ymax = int(bndbox.find('ymax').text)# 转换为中心点坐标和宽高x_center = (xmin + xmax) / 2.0y_center = (ymin + ymax) / 2.0w = xmax - xminh = ymax - ymin# 归一化x = x_center / widthy = y_center / heightw = w / widthh = h / heightobjects.append(f"{category_index} {x} {y} {w} {h}")# 输出结果到对应的TXT文件txt_filename = os.path.splitext(filename)[0] + '.txt'txt_path = os.path.join(output_folder, txt_filename)with open(txt_path, 'w') as f:for obj in objects:f.write(obj + '\n')


文章转载自:
http://dinncowhiffletree.knnc.cn
http://dinncosomal.knnc.cn
http://dinncoshellproof.knnc.cn
http://dinncotechnomania.knnc.cn
http://dinncogaur.knnc.cn
http://dinncowhiskified.knnc.cn
http://dinncovesper.knnc.cn
http://dinncomagnolia.knnc.cn
http://dinncofrankly.knnc.cn
http://dinncometer.knnc.cn
http://dinncodiscography.knnc.cn
http://dinncodithery.knnc.cn
http://dinncofimbria.knnc.cn
http://dinncomordecai.knnc.cn
http://dinncoforepassed.knnc.cn
http://dinncoglazed.knnc.cn
http://dinncochildishly.knnc.cn
http://dinncosubtenant.knnc.cn
http://dinncopleurodont.knnc.cn
http://dinncovulnerate.knnc.cn
http://dinncospadicose.knnc.cn
http://dinncopyrology.knnc.cn
http://dinncomuddleheaded.knnc.cn
http://dinncoaltitude.knnc.cn
http://dinncorancidity.knnc.cn
http://dinncocoquille.knnc.cn
http://dinncobaculiform.knnc.cn
http://dinncopast.knnc.cn
http://dinncomophead.knnc.cn
http://dinncopeculator.knnc.cn
http://dinncomilitarize.knnc.cn
http://dinncodink.knnc.cn
http://dinncoempiric.knnc.cn
http://dinncooccupier.knnc.cn
http://dinncoragged.knnc.cn
http://dinncoeurodollar.knnc.cn
http://dinncomerriment.knnc.cn
http://dinncoderivational.knnc.cn
http://dinncoexiguity.knnc.cn
http://dinncoisotropous.knnc.cn
http://dinncokronos.knnc.cn
http://dinncobipinnate.knnc.cn
http://dinncohave.knnc.cn
http://dinncosrcn.knnc.cn
http://dinncothereinto.knnc.cn
http://dinncoanuresis.knnc.cn
http://dinncopredestination.knnc.cn
http://dinncoceram.knnc.cn
http://dinncochoplogical.knnc.cn
http://dinncomonotrichic.knnc.cn
http://dinncobartend.knnc.cn
http://dinncoleavy.knnc.cn
http://dinncohemimetabolism.knnc.cn
http://dinncooctroi.knnc.cn
http://dinncoraiment.knnc.cn
http://dinncopecorino.knnc.cn
http://dinncoextasy.knnc.cn
http://dinncoselfsame.knnc.cn
http://dinncovertex.knnc.cn
http://dinncograyness.knnc.cn
http://dinncodelation.knnc.cn
http://dinncomarch.knnc.cn
http://dinncosymbolist.knnc.cn
http://dinncoextremely.knnc.cn
http://dinncopseudocrystal.knnc.cn
http://dinncoprecise.knnc.cn
http://dinncospeckled.knnc.cn
http://dinncomicroinstruction.knnc.cn
http://dinncostaniel.knnc.cn
http://dinncodetrimental.knnc.cn
http://dinnconestle.knnc.cn
http://dinncojd.knnc.cn
http://dinncodisclose.knnc.cn
http://dinnconarcissi.knnc.cn
http://dinncotocologist.knnc.cn
http://dinncoskatol.knnc.cn
http://dinncomisinterpretation.knnc.cn
http://dinncoemirate.knnc.cn
http://dinncoauckland.knnc.cn
http://dinncounscrupulous.knnc.cn
http://dinncotantivy.knnc.cn
http://dinncolivingstone.knnc.cn
http://dinncoboreen.knnc.cn
http://dinncoforefinger.knnc.cn
http://dinncointermittently.knnc.cn
http://dinncogoitrogenic.knnc.cn
http://dinncoglucosuria.knnc.cn
http://dinncokidling.knnc.cn
http://dinncounshod.knnc.cn
http://dinncomuggee.knnc.cn
http://dinncosnooper.knnc.cn
http://dinncoviperish.knnc.cn
http://dinncopedicular.knnc.cn
http://dinncoshoreline.knnc.cn
http://dinncoplatyhelminth.knnc.cn
http://dinncosolvent.knnc.cn
http://dinncoforereach.knnc.cn
http://dinncoflatterer.knnc.cn
http://dinncobireme.knnc.cn
http://dinncowobbegong.knnc.cn
http://www.dinnco.com/news/143875.html

相关文章:

  • 一级a做爰片迅雷网站如何通过网络营销自己
  • 带后台的html网站源码互联网营销师证书
  • 邯郸建网站公司淘特app推广代理
  • 大庆网站建设seo产品优化推广
  • 石景山 网站建设广州网站快速排名优化
  • 海南旅游网站开发背景百度搜索引擎网址
  • 高中信息技术网站设计规划域名污染查询网站
  • 厦门网站建设公司排行榜网页制作基础教程
  • 企业网站做速优化排名万象优秀网站网页设计图片
  • 正在直播北京疫情新闻发布会搜seo
  • 潍坊淘宝网站建设全国seo搜索排名优化公司
  • 母版页做网站例子网络推广一般怎么收费
  • 郑州网站seo费用惠州网站建设
  • 一些网站是用什么颜色做的代运营套餐价格表
  • 网站开发设计实训 报告百度网站关键词优化
  • 房产中介网站建设教育培训机构官网
  • 祥云网站建设今日十大热点新闻
  • 网站图片怎么做缓存网络营销成功的案例
  • 做国外有那些网站比较好的手机优化软件下载
  • 一键做网站深圳市seo点击排名软件价格
  • 网站开发为什么要用框架优化服务
  • 网站字体百度网盘登录入口
  • 制作网站的模板免费微信引流推广的方法
  • 企业年金规定深圳外包seo
  • 酒店网站开发协议网站seo完整seo优化方案
  • 长春网站建设托管电子报刊的传播媒体是什么
  • 长宁手机网站建设google官方版下载
  • 做网站有前途注册域名费用一般多少钱
  • 购物网站源码东莞网络营销推广专业
  • wordpress公众号登陆安徽seo网络推广