比较两幅不同大小图像的坐标

2024-09-28 03:22:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python,我需要计算并集上的交集,同时考虑地面真值和锚定框(通常是两个矩形)。问题是,我在53x64大小的图像上生成锚定,而我有关于424x512大小的图像的地面真实坐标。 我得到的信息是:

  • 锚定:[x1,y1,x2,y2]关于53x64图像
  • GT:[x1,y1,x2,y2]关于424x512图像

特别是它们是一个矩形的两个相对角的坐标。 所以问题是这样的距离和面积是不相称的。 所以问题是,我怎样才能以正确的方式比较这两个元素


Tags: 图像gt信息距离集上x1x2矩形
2条回答

根据您所掌握的信息,您可以将锚定图像坐标中给定的点转换为等效的地面真实图像。这可以通过使用linear interpolation来实现,如下所示。类似的数学可以用来计算逆(基本真理)⇒ (1)改造

您可以使用它将坐标转换为相对于地面真实图像的等效位置。然后您应该能够使用这些转换的值来正确地计算距离、角度等

anchor_height, anchor_width = 53, 64
gt_height, gt_width = 424, 512

def transform(x, y):
    return x/anchor_width * gt_width, y/anchor_height * gt_height

print(transform(0, 0))      # - > (0.0, 0.0)
print(transform(32, 26.5))  # - > (256.0, 212.0)
print(transform(64, 53))    # - > (512.0, 424.0)```

这是我的答案。我希望我正确地理解了你的要求

Coordinates = {"x1" : 3, "x2" : 11, "y1" : 7, "y2" : 13}
NewCoords = {}
for key, value in Coordinates:
    NewCoords[key] = (value*8)
print(NewCoords)
# {"x1" : 24, "x2" : 88, "y1" : 56, "y2" : 104}

相关问题 更多 >

    热门问题