我正在使用Azure自定义视觉进行对象检测项目。我得到的一个边界框的例子是[0.053913698, 0.6198375, 0.09218301, 0.13308609]
。
这里选择的答案不适合我的任务,因为所有的值都小于0。
有人能帮忙吗?
原因
一个装订框列表告诉你["left", "top", "width", "height"]
,它们中的每一个都是,占图像原始大小的百分比.
解决方案假设图像尺寸为800 x 600(即图像宽度为800,图像高度为600)。因此,您需要做的是将宽度和高度乘以相应的值。阅读下面的Python代码:
imageWidth = 800
imageHeight = 600
bbx = {
"left": 0.053913698,
"top": 0.6198375,
"width": 0.09218301,
"height": 0.13308609
}
# top-left point position
(x, y) = (bbx["left"]*imageWidth, bbx["top"]*imageHeight)
# bounding box's width and height
bbxWidth = bbx["width"] * imageWidth
bbxHeight = bbx["height"] * imageHeight
您可以使用上述值(即x
,y
,bbxWidth
和bbxHeight
)在原始图像上绘制边界框。