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

如何制作产品网站建网站建网站

如何制作产品网站,建网站建网站,快速搭建网站的好处,个旧市建设局网站【VOC20072012】数据集地址#xff1a;https://pjreddie.com/projects/pascal-voc-dataset-mirror/PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集#xff0c;用于构建和评估用于图像分类#xff08;Classification#xff09;#xff0c;检测#xff08;O…【VOC20072012】数据集地址https://pjreddie.com/projects/pascal-voc-dataset-mirror/PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集用于构建和评估用于图像分类Classification检测Object Detection和分割Segmentation的算法从2005年到2012年每年都会举行一场图像识别challenge。数据集类别20类Person: personAnimal: bird, cat, cow, dog, horse, sheepVehicle: aeroplane, bicycle, boat, bus, car, motorbike, trainIndoor: bottle, chair, dining table, potted plant, sofa, tv/monitor数据集目录VOC2007为例只列出目标检测所用到的-VOCdevkit-VOC2007-Annotations #存放xml标注文件每个xml文件都对应于JPEGImages文件夹的一张图片文件命名格式为图片编号.xml-JPEGImages #存放训练图片和测试图片文件命名格式为图片编号.jpg-ImageSets #存放的是challenge对应的图像数据-Main #存放的是图像物体识别的数据包含下列4个文件文件内容格式均为图片编号-train.txt #记录训练集所包含的图片编号-test.txt #记录测试集所包含的图片编号-val.txt #记录验证集所包含的图片编号-trainval.txt #记录验证集和训练集所包含的图片编号把上述目录所列的文件夹建好接下来制作自己的VOC格式数据集。【标注工具labelImg】labelImg软件是一款免费的图像标注工具常用来为目标检测任务标注数据集。labelImg的安装和使用参考GitHub项目https://github.com/tzutalin/labelImg​github.com记录下自己Mac版本的安装过程conda activate 环境名称 #可选 pip install pyqt5 pip install libxml2 pip install labelImg labelImg #运行【制作自己的数据集】1.JPEGImages文件夹搜集并删选出自定类别的图片数据将所有的.jpg图像文件放入JPEGImages文件夹命名格式统一为“%6d.jpg”(000001.jpg)# -*- coding:utf8 -*-批量重命名文件夹中的图片文件 import os class BatchRename():def __init__(self):self.path ./JPEGImages # 修改成自己JPEGImages文件夹路径def rename(self):filelist os.listdir(self.path)total_num len(filelist)i 1n 6for item in filelist:if item.endswith(.jpg):n 6 - len(str(i))src os.path.join(os.path.abspath(self.path), item)dst os.path.join(os.path.abspath(self.path), str(0) * n str(i) .jpg)try:os.rename(src, dst)printconverting %s to %s ... % (src, dst)i i 1except:continueprinttotal %d to rename converted %d jpgs % (total_num, i) if __name__ __main__:demo BatchRename()demo.rename()2.Annotations文件夹使用labelImg工具标注图片中的目标选择好图片存放文件夹JPEGImages和标注文件夹Annotations接下来就是无止尽的标注。。。3.ImageSets文件夹在ImageSets文件夹下新建Main文件夹执行下面代码生成test.txt , train.txt , trainval.txt , val.txt。# -*- codingutf-8 -*-import os import random trainval_percent 0.7 # 自己设定训练集验证集所占训练集验证集测试集的比重 train_percent 0.8 # 自己设定训练集所占训练集验证集的比重 xmlfilepath Annotations/ #注意自己地址是否正确 txtsavepath ImageSets/Main #注意自己地址是否正确 total_xml os.listdir(xmlfilepath) num len(total_xml) list range(num) tv int(num*trainval_percent) tr int(tv*train_percent) trainval random.sample(list,tv) train random.sample(trainval,tr) ftrainval open(txtsavepath/trainval.txt, w) ftest open(txtsavepath/test.txt, w) ftrain open(txtsavepath/train.txt, w) fval open(txtsavepath/val.txt, w) for i in list: name total_xml[i][:-4]n if i in trainval: ftrainval.write(name) if i in train: ftrain.write(name) else: fval.write(name) else: ftest.write(name) ftrainval.close() ftrain.close() fval.close() ftest .close() print(Done)【数据集常用代码】1.批量修改xml标签import os import xml.etree.ElementTree as ET#程序功能批量修改VOC数据集中xml标签文件的标签名称 def changelabelname(inputpath):listdir os.listdir(inputpath)for file in listdir:if file.endswith(xml):file os.path.join(inputpath,file)tree ET.parse(file)root tree.getroot()for object1 in root.findall(object):for sku in object1.findall(name): #查找需要修改的名称if (sku.text type2_03): #‘preName’为修改前的名称sku.text type2_02 #‘TESTNAME’为修改后的名称tree.write(file,encodingutf-8) #写进原始的xml文件并避免原始xml中文字符乱码else:passelse:passif __name__ __main__:inputpath anno/ #此处替换为自己的路径changelabelname(inputpath)2.批量统计每个类别的图片数量及目标数量import re import os import xml.etree.ElementTree as ETclass1 type1_01 #根据自己的类别修改以下要均修改 class2 type2_02 class3 type2_03 class4 type1_02class20 tvmonitorannotation_folder ./Annotations/ # 改为自己标签文件夹的路径 # annotation_folder /home/.../VOC2007/Annotations/ list os.listdir(annotation_folder)def file_name(file_dir):L []for root, dirs, files in os.walk(file_dir):for file in files:if os.path.splitext(file)[1] .xml:L.append(os.path.join(root, file))return Ltotal_number1 0 total_number2 0 total_number3 0 total_number4 0total_number20 0total 0 total_pic 0pic_num1 0 pic_num2 0 pic_num3 0 pic_num4 0pic_num20 0 flag1 0 flag2 0 flag3 0 flag4 0flag20 0 xml_dirs file_name(annotation_folder)for i in range(0, len(xml_dirs)):print(xml_dirs[i])annotation_file open(xml_dirs[i]).read()root ET.fromstring(annotation_file)total_pic total_pic 1for obj in root.findall(object):label obj.find(name).textif label class1:total_number1 total_number1 1flag1 1total total 1if label class2:total_number2 total_number2 1flag2 1total total 1if label class3:total_number3 total_number3 1flag3 1total total 1if label class4:total_number4 total_number4 1flag4 1total total 1if label class20:total_number20total_number201flag201total total 1if flag1 1:pic_num1 pic_num1 1# print(pic number:, pic_num1)flag1 0if flag2 1:pic_num2 pic_num2 1flag2 0if flag3 1:pic_num3 pic_num3 1flag3 0if flag4 1:pic_num4 pic_num4 1flag4 0if flag201:pic_num20pic_num201flag200print(class1, pic_num1, total_number1) print(class2, pic_num2, total_number2) print(class3, pic_num3, total_number3) print(class4, pic_num4, total_number4)print(class20,pic_num20, total_number20) print(total, total_pic, total) 3.图片批量增广水平、上下翻转等 图片批量翻转from PIL import Image import os import os.path# 指明被遍历的文件夹 rootdir rRust_01/ for parent, dirnames, filenames in os.walk(rootdir): # 遍历图片for filename in filenames:print(parent is : parent)print(filename is : filename)currentPath os.path.join(parent, filename)print(the fulll name of the file is : currentPath)im Image.open(currentPath)# Image.FLIP_LEFT_RIGHT,表示将图像左右翻转out im.transpose(Image.FLIP_LEFT_RIGHT)# Image.FLIP_TOP_BOTTOM,表示将图像上下翻转# out im.transpose(Image.FLIP_TOP_BOTTOM)# Image.ROTATE_90,表示将图像逆时针旋转90°# out im.transpose(Image.ROTATE_90)# Image.ROTATE_180,表示将图像逆时针旋转180°# out im.transpose(Image.ROTATE_180)# Image.ROTATE_270,表示将图像逆时针旋转270°# out im.transpose(Image.ROTATE_270)# Image.TRANSPOSE,表示将图像进行转置(相当于顺时针旋转90°)# out im.transpose(Image.TRANSPOSE)# Image.TRANSVERSE,表示将图像进行转置,再水平翻转# out im.transpose(Image.TRANSVERSE)# 新建文件夹保存翻转后图片newname rRust_01/ filenameout.save(newname) # 保存结束说明研一初学目标检测本文记录自己制作数据集的过程以上参考、摘抄于以下文章推荐阅读。有些代码忘记在哪里借鉴的了如有读者见到联系加入参考链接。参考转载VOC2007数据集制作 - _harvey - 博客园​www.cnblogs.comCSDN-专业IT技术社区-登录​blog.csdn.netCSDN-专业IT技术社区-登录​blog.csdn.net
http://www.zqtcl.cn/news/629966/

相关文章:

  • 能盈利的网站网站运营经验
  • 咸宁网站建设价格创建app需要什么条件
  • 一个静态网站多少钱谷歌推广公司哪家好
  • 做体育的网站c2c跨境电商平台有哪些?
  • 山西响应式网站建设推荐全国企业信用信息公示系统浙江
  • 西安做网站维护的公司百度百科官网入口
  • 网站网站建设公司贵阳网站设计阳光创信好吗
  • 网站广告投放收费标准长沙公司制作网站费用
  • 网站建设有哪些环节做一个产品网站要多少钱
  • 公司网站建设价格河北网站制作 网站开发
  • 适合新手做的网站项目职业技术培训
  • 提高网站流量原则昆山做百度网站
  • 怎样设计自己的网站长春制作门户网站的公司
  • 亚马逊商标备案是否必须做网站Wordpress做APP后端
  • 主办单位性质与网站名称不符网站域名怎么买
  • 帝国cms下载类网站怎么做广州外贸营销网站建设公司
  • 网站开发软件开发流程免费做外贸的网站平台有哪些
  • 教育培训网站开发广告公司怎么设置网站关键字
  • 绩溪建设银行网站济南网站建设 刘彬彬
  • 网站开发是打代码吗建网站来做什么
  • 制作网站需要什么软件wordpress建站程序
  • 做网站网站怎么赚钱软件工程师证书报考时间
  • 手机和电脑网站分开做炒股软件下载
  • 网站建设需要注意哪些关键细节杭州做商务网站
  • 做网站,图片显示不出来网站图标代码
  • 理财网网站开发源码h5淘宝网网页版入口
  • 免费网站商城模板宁波企业网站搭建图片
  • 上海网站备案查询建站图标素材
  • 贵州省住房和建设厅网网站网站页面设计报告
  • 做网站友汇网快速建设网站视频教程