5

这是我的第一篇文章!

我正在尝试制作一个可以确定网格(图像)中的某些点是亮还是暗的应用程序。原始网格定义明确(我知道所有点应该相对于角的位置)。一旦我知道该点应该在哪里,我就可以很容易地判断它是亮还是暗。

问题是,我想从手持相机拍摄的网格图像中做到这一点。显然,由于手部运动,视角会发生变化,我需要做一些数学运算来确定新点相对于角的位置(我知道如何检测角)。

我在其他帖子中读到,在转换过程中唯一保留的属性是交叉比率和发生率。具体来说,这篇文章让我朝着正确的方向前进,但作者没有完成数学运算。请注意,在这个例子中,作者是从倾斜的视角转向鸟瞰图,而我试图做相反的事情。不过,数学应该是一样的。


从发布投影变换

(所以显然我不能发布图片,因为我是新人,但图片在上面的帖子中)

1) 在由线段 AD 和 CP 定义的线的交点处找到点 C'。

2) 在由线段 AD 和 BP 定义的线的交点处找到点 B'。

3)确定B'DAC'的交叉比,即r = (BA' * DC') / (DA * B'C')。

4)构造投影线F'HEG'。这些点的交叉比等于r,即r = (F'E * HG') / (HE * F'G')。

5)F'F 和 G'G 将在投影点 Q 处相交,因此使交叉比率相等并知道正方形边的长度,您可以通过一些算术体操来确定 Q 的位置。


我的问题是第 4 步,构建 F'HEG' 线。是否可以仅知道 2 个点和所需的交叉比率来构建一条由 4 个点组成的线?我觉得那是一个有 2 个未知数的方程。

如果有人可以帮助我,我将不胜感激!

抱歉,拖了这么久,

PS我会在那个论坛上发帖,但这是我的第一篇文章,所以我还没有获得许可。

4

2 回答 2

1

如果你知道任何 4 个 2D 点的位置(其中没有 3 个在同一条线上),例如你的角,你可以找到你的 2D 图像和网络摄像头框架之间的 Homography 变换 H。
H 是一个 3x3 矩阵,可以将帧中的任何点转换为 2D 图像。点 p 写在齐次坐标中:[x,y,1] 使得 p'=Hp。
给定图像和框架中的 4 个对应点,您可以求解 H 的 9 个元素。

于 2011-08-28T01:03:37.983 回答
0

由于 F'、H、E 和 G 位于 2D 空间中的一条线上,因此您的问题从一开始就受到很大限制。你的未知数是:

  1. 一些支撑点(您知道线穿过的点),为此使用第一个点。
  2. 线的方向(它从支撑到哪里。你使用从第一个点到第二个点的方向)
  3. 沿该线的点的位置。你已经有两个(两个点),所以你只需要两个数字。

所需的交叉比率实际上是两个方程(x 和 y 坐标各一个),所以你有两个方程和两个未知数。

于 2011-05-23T09:20:36.947 回答