假设该人平行于墙壁站立。人和墙在同一平面。该人拍摄墙壁的照片(考虑到该人总是捕捉墙壁的底部边缘)。
假设:
很明显,当人靠近墙壁时,墙壁的底部边缘在图像中往往位于底部。随着我们移动得更远,边缘向图像中心移动得更近。
因此,“与墙的距离”和“图像中墙的边缘位置”之间存在关系。
已知参数为:
-> 拍摄图像的相机高度
- >角度(相机的方向)
-> 边缘在图像中的位置
如何根据上述参数制定距离(深度)?还有其他影响上述关系的参数吗?
假设该人平行于墙壁站立。人和墙在同一平面。该人拍摄墙壁的照片(考虑到该人总是捕捉墙壁的底部边缘)。
假设:
很明显,当人靠近墙壁时,墙壁的底部边缘在图像中往往位于底部。随着我们移动得更远,边缘向图像中心移动得更近。
因此,“与墙的距离”和“图像中墙的边缘位置”之间存在关系。
已知参数为:
-> 拍摄图像的相机高度
- >角度(相机的方向)
-> 边缘在图像中的位置
如何根据上述参数制定距离(深度)?还有其他影响上述关系的参数吗?
vres 是垂直分辨率(例如,1080)。vfov - 垂直视野(例如,20 度) f - 焦距(从 fov 推导出)
vres/2 / f = tg(vfov/2)
1/f = 2 * tg(vfov/2) / vres
dy - 图像底部边缘相对于矩阵中心的位置 theta - 边缘相对于目标轴的角度
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)