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

重庆建委官网网站优化seo培训

重庆建委官网,网站优化seo培训,一个网站项目开发流程,wordpress.com 架构1.文件目录如下所示: 对以上目录的解释: 1.dataset下面的image文件夹:里面装的是数据集的原图片 2.dataset下面的label文件夹:里面装的是图片对应得yolo格式标签 3.dataset下面的Annotations文件夹:这是一个空文件夹&…

1.文件目录如下所示:

对以上目录的解释:

1.dataset下面的image文件夹:里面装的是数据集的原图片

2.dataset下面的label文件夹:里面装的是图片对应得yolo格式标签

3.dataset下面的Annotations文件夹:这是一个空文件夹,里面要装得是即将要生成得voc格式标签

2.转换代码如下所示

新建一个convert.py文件,然后将下面代码复制进去

注意:文件夹的格式要与我的一样才行

from xml.dom.minidom import Document
import os
import cv2# def makexml(txtPath, xmlPath, picPath):  # txt所在文件夹路径,xml文件保存路径,图片所在文件夹路径
def makexml(picPath, txtPath, xmlPath):  # txt所在文件夹路径,xml文件保存路径,图片所在文件夹路径"""此函数用于将yolo格式txt标注文件转换为voc格式xml标注文件"""dic = {'0': "pedestrian",  # 创建字典用来对类型进行转换'1': "people",  # 此处的字典要与自己的classes.txt文件中的类对应,且顺序要一致'2': "bicycle",'3': "car",'4': "van",'5': "truck",'6': "tricycle",'7': "awning-tricycle",'8': "bus",'9': "motor",}files = os.listdir(txtPath)for i, name in enumerate(files):xmlBuilder = Document()annotation = xmlBuilder.createElement("annotation")  # 创建annotation标签xmlBuilder.appendChild(annotation)txtFile = open(txtPath + name)txtList = txtFile.readlines()img = cv2.imread(picPath + name[0:-4] + ".jpg")Pheight, Pwidth, Pdepth = img.shapefolder = xmlBuilder.createElement("folder")  # folder标签foldercontent = xmlBuilder.createTextNode("driving_annotation_dataset")folder.appendChild(foldercontent)annotation.appendChild(folder)  # folder标签结束filename = xmlBuilder.createElement("filename")  # filename标签filenamecontent = xmlBuilder.createTextNode(name[0:-4] + ".jpg")filename.appendChild(filenamecontent)annotation.appendChild(filename)  # filename标签结束size = xmlBuilder.createElement("size")  # size标签width = xmlBuilder.createElement("width")  # size子标签widthwidthcontent = xmlBuilder.createTextNode(str(Pwidth))width.appendChild(widthcontent)size.appendChild(width)  # size子标签width结束height = xmlBuilder.createElement("height")  # size子标签heightheightcontent = xmlBuilder.createTextNode(str(Pheight))height.appendChild(heightcontent)size.appendChild(height)  # size子标签height结束depth = xmlBuilder.createElement("depth")  # size子标签depthdepthcontent = xmlBuilder.createTextNode(str(Pdepth))depth.appendChild(depthcontent)size.appendChild(depth)  # size子标签depth结束annotation.appendChild(size)  # size标签结束for j in txtList:oneline = j.strip().split(" ")object = xmlBuilder.createElement("object")  # object 标签picname = xmlBuilder.createElement("name")  # name标签namecontent = xmlBuilder.createTextNode(dic[oneline[0]])picname.appendChild(namecontent)object.appendChild(picname)  # name标签结束pose = xmlBuilder.createElement("pose")  # pose标签posecontent = xmlBuilder.createTextNode("Unspecified")pose.appendChild(posecontent)object.appendChild(pose)  # pose标签结束truncated = xmlBuilder.createElement("truncated")  # truncated标签truncatedContent = xmlBuilder.createTextNode("0")truncated.appendChild(truncatedContent)object.appendChild(truncated)  # truncated标签结束difficult = xmlBuilder.createElement("difficult")  # difficult标签difficultcontent = xmlBuilder.createTextNode("0")difficult.appendChild(difficultcontent)object.appendChild(difficult)  # difficult标签结束bndbox = xmlBuilder.createElement("bndbox")  # bndbox标签xmin = xmlBuilder.createElement("xmin")  # xmin标签mathData = int(((float(oneline[1])) * Pwidth + 1) - (float(oneline[3])) * 0.5 * Pwidth)xminContent = xmlBuilder.createTextNode(str(mathData))xmin.appendChild(xminContent)bndbox.appendChild(xmin)  # xmin标签结束ymin = xmlBuilder.createElement("ymin")  # ymin标签mathData = int(((float(oneline[2])) * Pheight + 1) - (float(oneline[4])) * 0.5 * Pheight)yminContent = xmlBuilder.createTextNode(str(mathData))ymin.appendChild(yminContent)bndbox.appendChild(ymin)  # ymin标签结束xmax = xmlBuilder.createElement("xmax")  # xmax标签mathData = int(((float(oneline[1])) * Pwidth + 1) + (float(oneline[3])) * 0.5 * Pwidth)xmaxContent = xmlBuilder.createTextNode(str(mathData))xmax.appendChild(xmaxContent)bndbox.appendChild(xmax)  # xmax标签结束ymax = xmlBuilder.createElement("ymax")  # ymax标签mathData = int(((float(oneline[2])) * Pheight + 1) + (float(oneline[4])) * 0.5 * Pheight)ymaxContent = xmlBuilder.createTextNode(str(mathData))ymax.appendChild(ymaxContent)bndbox.appendChild(ymax)  # ymax标签结束object.appendChild(bndbox)  # bndbox标签结束annotation.appendChild(object)  # object标签结束f = open(xmlPath + name[0:-4] + ".xml", 'w')xmlBuilder.writexml(f, indent='\t', newl='\n', addindent='\t', encoding='utf-8')f.close()if __name__ == "__main__":picPath = "dataset/image/"  # 图片所在文件夹路径,后面的/一定要带上txtPath = "dataset/label/"  # txt所在文件夹路径,后面的/一定要带上xmlPath = "dataset/Annotations/"  # xml文件保存路径,后面的/一定要带上makexml(picPath, txtPath, xmlPath)

3.需要修改的地方-标签字典

如果你要转换得标签内容与上面标签字典得内容不同得话,请按需求修改成你自己的标签

4.需要修改的地方-文件夹路径

如果你的文件夹路径跟我上面的不一样的话,那么在这里修改成你对应的文件夹路径

5.运行你刚刚创建的convert.py文件,就生成xml格式的标签了

6.使用labelimg验证一下转换之后的格式

先打开图片和标签所在的文件夹

在这里输入cmd

打开命令行窗口

先激活虚拟环境,输入命令:

activate yolo

然后使用labelimg验证

labelimg image

在选择标签文件夹的时候选择刚才生成的voc格式标签的文件夹

然后进入页面就是这个样子

说明转换格式成功啦!!!

http://www.dinnco.com/news/82613.html

相关文章:

  • 小程序商城装修图片360手机优化大师安卓版
  • 为什么做网站要有自己的服务器电视剧排行榜百度搜索风云榜
  • 路灯东莞网站建设杭州seo网站哪家好
  • 网站建设ktv东莞关键词排名推广
  • 郑州营销型网站建设社群营销成功案例
  • 中国企业信用网站官网抚州seo外包
  • 太原网站建设总部地址网站推广营销
  • 网站建设和维护面试题百度一下百度搜索网站
  • 免费隐私网站推广app十大app开发公司排名
  • 工程建设是什么工作西安seo培训机构
  • 网站功能型和展示型的区别武汉建站优化厂家
  • 住房与城乡建设管理委员会网站百度官网入口链接
  • 沧州网站建设多少钱南宁百度快速排名优化
  • 做ppt常用图片网站有哪些有哪些网络推广平台
  • 网站建设外包痘痘该如何去除效果好
  • 重庆公司免费网站建设百度权重1
  • 企业网络推广网站建设营销策略有哪些方法
  • 建设银行网站怎么登录域名查询工具
  • 遵义做网站哪个公司最好广东新闻今日大件事
  • 视频模板网站推荐电脑优化软件哪个好用
  • 营销型网站套餐跨境电商平台有哪些
  • wordpress 无法登录360优化大师官方版
  • 吉安网站开发专业seo网站优化推广排名教程
  • 做网站用哪个office个人网站seo入门
  • 单位做网站需要多少钱免费发布推广平台
  • 优化门户网站建设郑州网站优化外包
  • 石家庄网站开发培训宁德市中医院
  • 网络营销的主要特点及举例手机百度seo怎么优化
  • 做网站导航的百度搜索引擎优化的养成良好心态
  • 如何做网站域名备案内存优化大师