我正在使用 enumerate 获取每行的行号以用作image_id但它一直返回行的长度而不是索引。
def get_detectron_format(self):
"""Returns the dataset in the Detectron2 list(dict) format"""
csv = self.get_data_csv()
dataset_dicts = []
record = dict()
for i, (index, data) in enumerate(csv.iterrows()):
record['file_name'] = os.path.join(self.data_root, data['Path'])
record['image_id'] = i
record['height'] = data['Height']
record['width'] = data['Width']
objs = []
obj= {
'bbox': [data['Roi.X1'], data['Roi.Y1'], data['Roi.X2'], data['Roi.Y2']],
'bbox_mode': BoxMode.XYXY_ABS,
'category_id': data['Roi.X1'] - 1,
'iscrowd': 0
}
objs.append(obj)
record['annotations'] = objs
dataset_dicts.append(record)
return dataset_dicts
当我打印出数据集中的第一项时:
gtsr = GTSR_Dataset()
dataset = gtsr.get_detectron_format()[0]
print(dataset)
我得到:
{
'file_name': '/content/drive/My Drive/Datasets/german_traffic_sign_recognition/Train/42/00042_00007_00029.png',
'image_id': 39208,
'height': 69,
'width': 68,
'annotations': [{'bbox': [7, 6, 62, 63],
'bbox_mode': <BoxMode.XYXY_ABS: 0>,
'category_id': 6,
'iscrowd': 0}]}
..image_id应该在哪里0。为什么是这样?如何获取行号(索引)?
慕田峪9158850
守候你守候我
相关分类