提取INRIA数据集的box

    前面讲到了INRIA数据集转换为VOC2007数据集格式:点击打开链接,本文和前面有点类似,只是做了进一步的精简,有点画蛇添足的感觉。不过还是希望能够帮到大家!因为比较简单,下面直接上代码。

# -*- coding: utf-8 -*-
"""
Created on Wed Apr  4 15:28:10 2018

@author: kuangyongjian

func:generator box label
"""
import os
import re

#原始训练集标签存储信息的目录,这里可以根据需要改成自己的目录
lists = os.listdir("F:/za/Model/pedestrain/INRIAPerson/Train/annotations")

#如果为非.txt文件,则跳过
for l in lists:
    if str(".txt") not in l:
        continue
    
    #保存文件的路径
    newfilename = 'label/' + l
    #读取文件的路径,根据需要改成自己的目录
    l = "F:/za/Model/pedestrain/INRIAPerson/Train/annotations/" + l
    f = open(l,"r")
    #写入文件的具体路径名称
    ff = open(newfilename,'w')
    
    #按行遍历文件寻找关键信息
    fr = f.readlines()
    for line in fr:
        if(str(line).__contains__('Objects')):
            nums = re.findall('\d+',line)  #每幅图像包含了多少个object
            break
    #将每个object对应的box信息写入文件
    for index in range(1,int(nums[0]) + 1):
        for line in fr:
            if str(line).__contains__("Bounding box for object " + str(index)):
                coordinate = re.findall('\d+', line)
                print('coordinate = ',1)
                count = 0
                for c in coordinate:
                    if(count == 0):
                        count += 1
                        continue
                    c = c + ' '
                    ff.write(c)
                    count += 1      
    f.close()          
    ff.close()

若有不当之处,请指教,谢谢!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值