我想测量两点之间的实际距离,比如路上有辆车在我前面,我和车辆之间的距离是多少?
我是这样进行的:
1)找到透视变换以获得顶视图。
2)然后试图找到距离。
问题是我无法获得正确的顶视图。
如果有任何替代方式,请告诉。
我想测量两点之间的实际距离,比如路上有辆车在我前面,我和车辆之间的距离是多少?
我是这样进行的:
1)找到透视变换以获得顶视图。
2)然后试图找到距离。
问题是我无法获得正确的顶视图。
如果有任何替代方式,请告诉。
要测量两个 3D 点之间的距离,您需要找到两个点的 3D 坐标。然后很容易计算欧几里得距离:
d(p1,p2)= sqrt{(p1_x - p2_x)^2+(p1_y - p2_y)^2+(p1_z - p2_z)^2}
这里的问题是在场景中找到对象的 3D 点(因为你知道你在哪里,在相机,参考坐标)。
要找到 3D 位置,您需要找到单应性或相机姿势。为此,您需要在场景中检测至少 4 个点,这些点与您先验知道的已知模型或图像的 4 个点相匹配。例如,如果您有汽车的 3D 模型,并且您能够检测场景中与您的 3D 模型相对应的真实汽车的点,您将能够计算单应变换,从而计算出车辆的 3D 位置。那些点。
无论如何这个问题很复杂,你需要使用很多算法来进行检测、匹配、校准,并且你需要知道你想要检测哪个对象。
问题比你想象的要难。即使在某些假设下:
如果其中一个假设不成立,那么测量距离将非常困难。但如果他们确实持有,您需要执行以下操作:
无论如何,正如我之前所说,测量距离是一个非常困难的问题。我建议以下简单但不太准确的解决方案: