我可以使用单应性将相机图像点投影到地面(2D平面)吗?

时间:2017-03-08 14:46:42

标签: math camera computer-vision homography fieldofview

我的问题很简单,但我很难正确地解决它。

我有一个望着地面的相机,我知道镜头的所有参数。因此,使用一些数学,我能够计算定义摄像机视野的4个点(每个图像角落的地面坐标)。

现在,从图像像素的坐标(x, y),我想知道它在地面上投射的真实坐标。

我认为单应性是要走的路,但我读herethere"单应性将从相机看到的平面映射到从另一个看到的同一平面"这是一个稍微不同的问题。

请问我该怎么用?

编辑:以下是一个示例。

鉴于此图片: Ground

我知道拍摄照片的相关信息(高度,视角,方向),所以我可以计算出地面上形成其视野的四个角的坐标,例如(以厘米为单位,相对于相机位置,从左上角开始顺时针方向):(-300, 500)(300, 500)(100, 50)(-100, 50)

知道草叶图像上的坐标是(1750, 480),我怎么知道它在地面上的实际坐标?

1 个答案:

答案 0 :(得分:2)

了解所有事情"关于相机,你的意思是你有相机FOV,相对于地平面的旋转和平移?然后它是微不足道的,对吧?

写入相机矩阵K = [[f,0,w / 2],[0,f,h / 2],[0,0,1]]。设R和t分别为3x3旋转矩阵和从相机到地面的3x1平移。穿过给定像素的光线上的点p = [u,v,1]具有相机坐标r = inv(K)* p。将它以世界坐标表示为R * r + t,与地平面相交,就完成了。