如何使用 Google 对象检测 API 的推理脚本获取生成的边界框的坐标?我知道打印 box[0][i] 返回图像中第 i 个检测的预测,但是这些返回的数字到底是什么意思?有没有办法让我得到 xmin,ymin,xmax,ymax?提前致谢。
问问题
8426 次
2 回答
15
Google 对象检测 API 返回格式为 [ymin, xmin, ymax, xmax] 和标准化形式的边界框(此处有完整说明)。要找到 (x,y) 像素坐标,我们需要将结果乘以图像的宽度和高度。首先获取图像的宽度和高度:
width, height = image.size
然后,从对象中提取 ymin,xmin,ymax,xmaxboxes
并乘以得到 (x,y) 坐标:
ymin = boxes[0][i][0]*height
xmin = boxes[0][i][1]*width
ymax = boxes[0][i][2]*height
xmax = boxes[0][i][3]*width
最后打印框角的坐标:
print 'Top left'
print (xmin,ymin,)
print 'Bottom right'
print (xmax,ymax)
于 2017-12-03T14:36:29.840 回答
3
您提到的 box 数组包含此信息,格式为 [N, 4] 数组,其中每一行的格式为:[ymin, xmin, ymax, xmax] 在相对于输入图像大小的标准化坐标中。
于 2017-11-05T20:39:35.980 回答