这是我的第一篇文章!
我正在尝试创建一个可以确定网格(图像)中的某些点是亮还是暗的应用程序。原始网格定义明确(我知道所有点应该相对于角落的位置)。一旦我知道该点应该在哪里,我就可以很容易地判断它是亮还是暗。
问题是,我想从手持相机拍摄的网格图像中做到这一点。很明显,由于手的移动,视角会发生变化,我需要做一些数学计算,确定新点相对于角点的位置(我知道如何检测角点)。
我在其他帖子中读过,在转换过程中保留的唯一属性是交叉比率和发生率。具体来说,这篇文章让我朝着正确的方向前进,但作者没有完成数学计算。请注意,在此示例中,作者将从倾斜的视角转向鸟瞰视图,而我正在尝试相反的做法。但数学应该是相同的。
(显然我不能发布图片,因为我是新手,但图片在上面的帖子中)
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点线?我觉得这是1个方程,有2个未知数。
如果有人能帮助我,我将非常感激!
抱歉这么久了,
罗布
PS我刚刚发布在该论坛上,但这是我的第一篇帖子,所以我还没有得到许可。
答案 0 :(得分:1)
如果您知道任何4个2D点的位置(其中3个点位于同一条线上),例如您的角落,您可以在2D图像和网络摄像头框架之间找到Homography转换H. H是一个3x3矩阵,可以将帧中的任何点转换为2D图像。 点p用均匀坐标写成:[x,y,1],使得p'= Hp 给定图像和帧中的4个对应点,您可以求解H的9个元素。
答案 1 :(得分:0)
由于F',H,E和G位于2D空间的一条直线上,因此您的问题从一开始就受到很大限制。你有的未知数是:
所需的交叉比例实际上是两个方程式(x和y坐标各一个),所以你有两个方程和两个未知数。