深度学习目标检测常用工具型代码:对训练数据的标签文档进行分析

很多时候,我们在进行检测的前是需要对你的数据集,进行分析的。

这个py文件是将训练数据的label文件,统一转换成csv格式,输出长、宽、面积、ratios(长宽比)等

如果不考虑批量操作,当然你可以用excel导入date.

# -*- coding: utf-8 -*-
"""
Created on Sat Apr  7 11:11:15 2018
分析原始数据
@author: ygx
"""
import os
import pandas as pd
dir = '/home/ygx/dotatools/原始数据分析/样本'
allfiles = []

for root,dirs,files in os.walk(dir):
    for filespath in files:
      filepath = os.path.join(root, filespath)
      extension = os.path.splitext(filepath)[1][1:]
      allfiles.append(filepath)
print allfiles,filepath

def parse_dota_poly(filename):
    objects = []
    with open(filename, 'r') as f:
        lines = f.readlines()
        splitlines = [x.strip().split(' ')  for x in lines]
        for splitline in splitlines:
            object_struct = {}
            object_struct['name'] = splitline[0]
            object_struct['bbox'] = [int(float(splitline[1])),
                                         int(float(splitline[2])),
                                         int(float(splitline[3])),
                                         int(float(splitline[4]))]
            w = 1.5*(float(splitline[3]) - float(splitline[1]) + 1)
            h = 1.5*(float(splitline[4]) - float(splitline[2]) + 1)
            object_struct['area'] = abs(w * h)            
            object_struct['w'] = abs(w)
            object_struct['h'] = abs(h)      
            object_struct['ratio']=abs(float(w)/float(h))
            objects.append(object_struct)
    return objects  

if __name__ == '__main__':
    for files in allfiles:
        objects = parse_dota_poly(files)
        filename = os.path.splitext(os.path.basename(files))[0]
        b=pd.DataFrame(objects)
        newpath = ('/home/ygx/dotatools/原始数据分析/csv文本/'+'%s.csv' %filename)
        b.to_csv(newpath)
    

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值