0

另一个棘手的问题。你可以在这里看到的是我的物理金字塔,由 3 个 LED 构成,它们在 1 个平面中形成一个三角形,另一个 LED 在中间中心,比其他 3 个高约 18 毫米。第 4 个使三角形成为金字塔。(如果你看直角三角形可能会更好看。这个是围绕水平轴旋转的,你可以很好地看到一根棍子上的二极管)。

示例三角形

第二张图片显示了我正在运行的程序。左框显示了 LED 的原始图片(带红外滤光片的照片)。中间的图片显示我的程序找到了这些点,并且还能够根据某些条件判断哪个点是哪个点(例如 C 始终是二极管之间距离最大的两条线相交的位置;并且两条最长的长度总是a和b)。但不要在意这一点,我知道这些点是 100% 正确找到的。

然后右图是一些计算出来的值,比如C和c之间的高度等等。我可以计算更多,但我现在懒得关心,因为我被卡住了。

我想计算 3 维空间中的金字塔旋转和平移。

黄色点是在相机 z 方向上围绕通过三角形中心的轴旋转后的 LED。所以现在我不必担心这个,在计算其他 2 时。旋转围绕水平轴,旋转围绕垂直轴。我可以很容易地用从三角形中心到第 4 个二极管的距离长度(如您所见,第 4 个二极管在图像平面上旋转移动)或两个轴的长度来计算。

但我的问题是未知的深度。

它影响所有长度(a、b、c,以及从中心到第 4 个二极管的长度,如果我们称之为 d 和 e)。我知道真正金字塔的测量值,公差为 +-5% 左右,但它们也会受到缩放的影响。那么我该如何处理呢?

我想到了一个方程,它与水平轴的长度、垂直轴的长度、角度 alpha、beta 和 gamma 以及长度 d 和 e 之间的比率。

Alpha、beta 和 gamma 仅受围绕轴旋转的影响(我想知道。我想知道旋转和缩放),其中围绕一个轴的旋转与围绕另一个轴的旋转具有相反的效果。因此,如果您以相同的角度围绕两个轴旋转,则轴的长度之间的比率与以前相同。

变焦(真实:它离相机有多近;我想知道的第一名:乘法因子 2x、3x、0.5、0,4322344,.....)不会影响角度,但会影响所有长度:a,b,c,d,e,hc(轴的垂直长度),hx(我还没有计算过,但这很容易。hx这个名字可以变化,我现在只是想到了一些随机的东西;它是水平轴的长度)以同样的方式(我猜)。

你看我想了很多,但我觉得我太笨了。

那么,是否有任何数学天才可以给我正确的方程式,无论是旋转还是/和缩放因子?

(我也考虑过使用 Posit/Downhill-Simplex 等等,但这将是最好的,因为我已经知道很多了,就像所有的点一样,等等)

拜托,拜托,我需要你的帮助真的很糟糕!如果你需要知道的话,我正在用 C++ 和 OpenCV 的帮助下写这个,但我认为它更多的是一个数学问题。

提前致谢!

啊,而且 Alpha 似乎总是和 Beta 一样!

编辑:不得不删除第二张图片

4

2 回答 2

1

看看OpenCV 中的SolvePnP()。即使您不直接使用它,文档也会引用所使用的方法。

于 2012-12-04T17:19:19.003 回答
1

看看Boost Geometry这里

于 2012-12-04T13:52:47.480 回答