3d 从图像估计距离

3d 从图像估计距离,3d,camera,geometry,distance,photogrammetry,3d,Camera,Geometry,Distance,Photogrammetry,假设此人与墙平行。人和墙在同一地面上。此人为墙拍照(考虑到此人始终捕捉墙的底部边缘) 假设: 很明显,当人靠近墙时,墙的底边往往位于图像的底部。当我们移动得越远,边缘越靠近图像中的中心 因此,“离墙的距离”和“图像中墙的边缘位置”之间存在关系 已知参数为: ->从中捕获图像的相机的高度 ->角度(相机的方向) ->边缘在图像中的位置 如何根据上述参数计算距离(深度)?是否有任何其他参数影响上述关系?vres是垂直分辨率(例如,1080)。 vfov-垂直视野(例如,20度) f-焦距(从fov推

假设此人与墙平行。人和墙在同一地面上。此人为墙拍照(考虑到此人始终捕捉墙的底部边缘)

假设:

很明显,当人靠近墙时,墙的底边往往位于图像的底部。当我们移动得越远,边缘越靠近图像中的中心

因此,“离墙的距离”和“图像中墙的边缘位置”之间存在关系

已知参数为:

->从中捕获图像的相机的高度

->角度(相机的方向)

->边缘在图像中的位置


如何根据上述参数计算距离(深度)?是否有任何其他参数影响上述关系?

vres是垂直分辨率(例如,1080)。 vfov-垂直视野(例如,20度) f-焦距(从fov推断)

dy-图像底边相对于矩阵中心的位置 θ-边缘相对于目标轴的角度

 tg(theta) = dy / f = dy * 2 * tg(vfov/2) / vres
 theta = atan(dy / f = dy * 2 * tg(vfov/2) / vres) 
fi是摄像机俯仰角 alpha是相机相对于墙底的倾斜度

alpha = fi +/- theta   (depending on pitch sign)
d为墙底-摄像机底的距离 h是相机高度

d = h * ctg(alpha)

你还需要相机的垂直分辨率和垂直视角吗?是的,我们知道tg、ctg和“目标轴”是什么意思?Tan,Cot??切线,连续,摄像机方向
d = h * ctg(alpha)