def draw_matches(I, boxes, matches, anns):
I = np.copy(I) * 255.0
for o in range(len(layer_boxes)):
for y in range(c.out_shapes[o][2]):
for x in range(c.out_shapes[o][1]):
for i in range(layer_boxes[o]):
match = matches[o][x][y][i]
# None if not positive nor negative
# -1 if negative
# ground truth indices if positive
if match == -1:
coords = center2cornerbox(boxes[o][x][y][i])
draw_rect(I, coords, (255, 0, 0))
elif isinstance(match, tuple):
coords = center2cornerbox(boxes[o][x][y][i])
draw_rect(I, coords, (0, 0, 255))
# elif s == 2:
# draw_rect(I, boxes[o][x][y][i], (0, 0, 255), 2)
for gt_box, id in anns:
draw_rect(I, gt_box, (0, 255, 0), 3)
cv2.putText(I, i2name[id], (int(gt_box[0] * image_size), int((gt_box[1] + gt_box[3]) * image_size)),
cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0))
I = cv2.cvtColor(I.astype(np.uint8), cv2.COLOR_RGB2BGR)
cv2.imshow("matches", I)
cv2.waitKey(1)
评论列表
文章目录