注:本以为很难,详细的看了一下odgt文件的数据存放方式和json文件的数据存放方式后,发现其实就是个读文件写文件的操作。只要把它们之间的数据进行对上就好了。
上面两篇博客是博主在写转换函数 crowdhuman2coco.py的时候,先去对它们的数据格式了解并整理了一下,有需要了解的可以看看。(其中对于CrowdHuman数据集里的好多字段,博主也刚接触,了解得比较浅,后面了解更多后,再进行修改完善。)
直接附上代码:
加载odgt
def load_file(fpath):#fpath是具体的文件 ,作用:#str to list
assert os.path.exists(fpath) #assert() raise-if-not
with open(fpath,'r') as fid:
lines = fid.readlines()
records = [json.loads(line.strip('\n')) for line in lines] #str to list
return records
crowdhuman2coco()函数
def crowdhuman2coco(odgt_path,json_path):#一个输入文件路径,一个输出文件路径
records = load_file(odgt_path) #提取odgt文件数据
#预处理
json_dict = {
"images":[], "annotations": [], "categories"