将多个边界框存储为 python 中的列表
Storing multiple bounding boxes as a list in python
我正在编写一段代码,从图像中提取边界框,然后使用地面实况注释计算 IoU。我的预测和地面实况的边界框坐标采用列表 [xmin,ymin,xmax,ymax] 的形式。我写了一个 for 循环,它从字典中提取边界信息,然后将其存储在列表中。
box = v7wpoint.boxidtobox[answer_boxid]
for key in box:
# print key
xmin_gt = box.get('x')
ymin_gt = box.get('y')
height = box.get('height')
width = box.get('width')
final_bb = []
xmax_gt = xmin_gt+width
ymax_gt = ymin_gt+height
bb_gt = [xmin_gt,ymin_gt,xmax_gt,ymax_gt]
final_bb.append(bb_gt)
rect_gt = np.array([[xmin_gt,ymin_gt],[xmin_gt,ymax_gt],[xmax_gt,ymax_gt],[xmax_gt,ymin_gt],[xmin_gt,ymin_gt]])
plt.plot(rect_gt[:,0],rect_gt[:,1],'g',markersize=4)
print (box.get('x'),box.get('y'),box.get('height'),box.get('width'),box.get('name'))
在这个 for 循环结束时,我只得到一个边界框信息 -
final_bb([xmin,ymin,xmax,ymax])。我需要一个包含所有边界框坐标列表的列表。像这样
1. [xmin,ymin,xmax,ymax]
2. [xmin,ymin,xmax,ymax]
3. [xmin,ymin,xmax,ymax]
.
.
.
N. [xmin,ymin,xmax,ymax]
我知道这是一个非常微不足道的问题,但我是 python 的新手,在 python 中操作数据结构时遇到困难。
将赋值 final_bb = []
移动到循环之前,否则结果列表将在每次迭代时被覆盖。
不包括完整代码,因为给出的示例对我来说仍然没有真正意义。
我正在编写一段代码,从图像中提取边界框,然后使用地面实况注释计算 IoU。我的预测和地面实况的边界框坐标采用列表 [xmin,ymin,xmax,ymax] 的形式。我写了一个 for 循环,它从字典中提取边界信息,然后将其存储在列表中。
box = v7wpoint.boxidtobox[answer_boxid]
for key in box:
# print key
xmin_gt = box.get('x')
ymin_gt = box.get('y')
height = box.get('height')
width = box.get('width')
final_bb = []
xmax_gt = xmin_gt+width
ymax_gt = ymin_gt+height
bb_gt = [xmin_gt,ymin_gt,xmax_gt,ymax_gt]
final_bb.append(bb_gt)
rect_gt = np.array([[xmin_gt,ymin_gt],[xmin_gt,ymax_gt],[xmax_gt,ymax_gt],[xmax_gt,ymin_gt],[xmin_gt,ymin_gt]])
plt.plot(rect_gt[:,0],rect_gt[:,1],'g',markersize=4)
print (box.get('x'),box.get('y'),box.get('height'),box.get('width'),box.get('name'))
在这个 for 循环结束时,我只得到一个边界框信息 - final_bb([xmin,ymin,xmax,ymax])。我需要一个包含所有边界框坐标列表的列表。像这样
1. [xmin,ymin,xmax,ymax]
2. [xmin,ymin,xmax,ymax]
3. [xmin,ymin,xmax,ymax]
.
.
.
N. [xmin,ymin,xmax,ymax]
我知道这是一个非常微不足道的问题,但我是 python 的新手,在 python 中操作数据结构时遇到困难。
将赋值 final_bb = []
移动到循环之前,否则结果列表将在每次迭代时被覆盖。
不包括完整代码,因为给出的示例对我来说仍然没有真正意义。