如何使用Google的物体检测API推理脚本获取生成的边界框的坐标?我知道打印boxes[0][i]会返回图像中第i个检测的预测,但这些返回的数字具体意义是什么?是否有一种方法可以获取xmin、ymin、xmax、ymax?提前感谢。
如何使用Google的物体检测API推理脚本获取生成的边界框的坐标?我知道打印boxes[0][i]会返回图像中第i个检测的预测,但这些返回的数字具体意义是什么?是否有一种方法可以获取xmin、ymin、xmax、ymax?提前感谢。
谷歌目标检测API以[ymin,xmin,ymax,xmax]的格式返回边界框,并以归一化形式呈现(完整解释在此链接)。为了找到(x,y)像素坐标,我们需要将结果乘以图像的宽度和高度。首先获取您的图像的宽度和高度:
width, height = image.size
然后,从boxes
对象中提取ymin、xmin、ymax和xmax,并进行乘法运算以获取(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)
image
是一个 numpy 数组吗?如果是的话,image.size
给出数组中元素的数量,而 image.shape
给出图像的维度。但我认为它会给出矩阵的行数和列数,例如 height, width = image.shape
。 - KolaBboxes
对象还能用吗?我找不到它。 - Artur Müller Romanov你提到的boxes数组包含这些信息,格式为[N, 4]的数组,其中每一行都是以下格式:
[ymin,xmin,ymax,xmax]以输入图像大小为基准的归一化坐标。