-1

我在 2 个不同的平面上有椭圆光束的图像。我确实知道两个平面之间的距离(d = 平面 A 和平面 B 之间的距离),并且我知道通过知道两个平面上椭圆的中心坐标计算得出的旋转角 theta (θ)。如何计算投影回光源原点的距离 R?我可以找到从平面 A 到原点的距离 (D)。我一直在考虑这个问题,但无法完全弄清楚。我想实现一个算法来计算 C# 中的 R。编程部分很简单,但数学我不太确定如何去做。

在此处输入图像描述

4

1 回答 1

1

如果图像是使用长焦镜头拍摄的,其轴穿过光束源,因此透视缩短和离轴效果是微不足道的,那么最好从绘制时的右侧观察这种情况。然后你有两个相似的直角三角形,在光源处有共同的顶点。

    |^--..._
 rA |   rB| ^^__
    |_____|______o   (Pardon my ascii art skills.)
    <--d-->
    <--------x-->

您似乎知道或可以轻松找到 rA 和 rB 是从光束源图像到椭圆中心的平面内距离,以及 d 是平面间距离。你想知道x。

为此只需设置比例

x / rA = (x-d) / rB.  

现在您可以轻松求解 x。

如果使用普通镜头从相对靠近光束源的位置拍摄图像,则需要了解相机几何形状,以便考虑透视效果。即使那样,镜头失真也会导致错误,除非您对相机有很多了解并进行一些花哨的校正。

于 2013-01-10T05:34:24.923 回答