#imglab使用指南 imglab.exe资源+读取.xml文件

#imglab使用指南 imglab.exe资源+读取.xml文件,第1张

#imglab使用指南 imglab.exe资源+读取.xml文件 imglab使用:

imglab程序网盘地址:

链接:https://pan.baidu.com/s/1G2ui4TyM3pgJ3pjjH7ygSA 
提取码:70c7

获取图片列表:./XXX/imglab.exe(imglab位置) -c ./XXX/(文件名).xml (图片所在的文件夹) (多个文件夹......)

标注图片:./XXX/imglab.exe(imglab位置) ./XXX/(文件名).xml

注意:不会自动保存,不要忘了保存!!!

tips:

  • 按住shift键、单击鼠标左键并拖动来添加一个新的矩形。在矩形右下角显示,编辑好的标签。
  • 按住shift键,右键矩形边框调整矩形
  • 双击选中框,shift+左键标注特征点、shift+右键修改特征点
  • 删除:选中框+del
  • 缩放:ctrl+鼠标滚轴
  • 删除当前图片:alt+del
  • 当前图片的标注顺延至下一张图片:shift + 
读取.xml文件实例

.xml文件部分:

例子的.xml文件之含有框信息,readxml文件实现的是求框的中点。

#box top + left 左上角的点



imglab dataset
Created by imglab tool.

  
    
  
  
    
  
  
    
  
  
    

readxml.py,保存信息在mark.txt文件中。

import xml.etree.ElementTree as ET  # 读取xml。
import os
from PIL import Image, ImageDraw, ImageFont

source_path = 'F:/DataDeal/mark'
savefilename = 'F:/DataDeal/' + 'mark.txt'

if __name__ == "__main__":
    data = []
    with open(savefilename, 'w') as write_file_handler:
        for root, dirs, files in os.walk(source_path):
            for file in files:
                dirpath = 'F:/DataDeal/mark/' + file
                tree = ET.parse(dirpath)  # 解析读取xml函数
                id = file.split('_')[0]
                root = tree.getroot()
                for i in range(len(root[2])):
                    c_x = int(root[2][i][0].attrib['left']) + int(int(root[2][i][0].attrib['width'])/2)
                    c_y = int(root[2][i][0].attrib['top']) + int(int(root[2][i][0].attrib['height'])/2)
                    data.append(id + '\' + root[2][i].attrib['file'] + ' ' + str(c_x) + ' ' + str(c_y))
                    data.append('n')
        write_file_handler.writelines(data)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5694149.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存