美文网首页
批量生成无坐标的xml文件-目标检测

批量生成无坐标的xml文件-目标检测

作者: PreCon | 来源:发表于2019-05-12 19:37 被阅读0次

前提描述:关于目标检测方面,在做实际项目时,现实场景中遇到的环境相较于样本集来说可能会复杂很多,比如我所做的桥梁表观病害检测,拍摄的图片中许多图片里面是没有病害的,而且存在许多与要检测病害相似的样本,所以如果不做负样本的话,就会存在很多误检的样本产生;于是我们就需要将许多没有病害的图片来制作负样本,而这些负样本如果数量庞大的话,手工制作将会是很大的体力活,所以我们就需要用代码来解决;

代码功能:提供需要做标签的图片,就能生成对应的”无坐标“的xml文件用于训练,代码如下:

#! /usr/bin/python
# -*- coding:UTF-8 -*-
import os, sys
import glob
from PIL import Image
 
# VEDAI 图像存储位置
src_img_dir = "/home/lehui/Desktop/负样本700"
# VEDAI 图像生成的xml文件存放位置
src_xml_dir = "/home/lehui/Desktop/xml"
 
img_Lists = glob.glob(src_img_dir + '/*.jpg')
 
img_basenames = [] # e.g. 100.jpg
for item in img_Lists:
    img_basenames.append(os.path.basename(item))
 
img_names = [] # e.g. 100
for item in img_basenames:
    temp1, temp2 = os.path.splitext(item)
    img_names.append(temp1)
 
for img in img_names:
    im = Image.open((src_img_dir + '/' + img + '.jpg'))
    width, height = im.size
    # write in xml file
    #os.mknod(src_xml_dir + '/' + img + '.xml')
    xml_file = open((src_xml_dir + '/' + img + '.xml'), 'w')
    xml_file.write('<annotation>\n')
    xml_file.write('    <folder>VOC2007</folder>\n')
    xml_file.write('    <filename>' + str(img) + '.jpg' + '</filename>\n')
    xml_file.write('    <path>'+ src_xml_dir + '/' + str(img) + '.jpg' + '</path>\n')
    xml_file.write('    <source>\n')
    xml_file.write('        <database>' + "Unknow" + '</database>\n')
    xml_file.write('    </source>\n')
    xml_file.write('    <size>\n')
    xml_file.write('        <width>' + str(width) + '</width>\n')
    xml_file.write('        <height>' + str(height) + '</height>\n')
    xml_file.write('        <depth>3</depth>\n')
    xml_file.write('    </size>\n')
    xml_file.write('    <segmented>0</segmented>\n')
    xml_file.write('</annotation>')

结果如图所示:

结果展示---xml.png
喜欢就点个赞(≧▽≦)/

相关文章

网友评论

      本文标题:批量生成无坐标的xml文件-目标检测

      本文链接:https://www.haomeiwen.com/subject/orchaqtx.html