#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 + \downarrow

读取.xml文件实例

.xml文件部分:

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

#box top + left 左上角的点
<?xml version='1.0' encoding='ISO-8859-1'?>
<?xml-stylesheet type='textl' href='image_metadata_stylesheet.xsl'?>
<dataset>
<name>imglab dataset</name>
<comment>Created by imglab tool.</comment>
<images>
  <image file='left\P_20_-10_-10_6_L01.bmp'>
    <box top='74' left='19' width='170' height='80'/>
  </image>
  <image file='left\P_20_-10_-15_6_L01.bmp'>
    <box top='93' left='22' width='171' height='64'/>
  </image>
  <image file='left\P_20_-10_-20_6_L01.bmp'>
    <box top='84' left='17' width='175' height='75'/>
  </image>
  <image file='left\P_20_-10_-25_6_L01.bmp'>
    <box top='91' left='23' width='166' height='74'/>

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)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值