Оценка расстояния от изображения - PullRequest
0 голосов
/ 17 мая 2018

Предполагая, что человек стоит параллельно стене. Человек и стена находятся на одном уровне земли. Человек фотографирует стену (учитывая, что человек всегда захватывает нижний край стены).

Гипотеза:

Очевидно, что когда человек находится ближе к стене, нижний край стены имеет тенденцию быть внизу на изображении. По мере того как мы продвигаемся дальше, край перемещается все ближе к центру изображения.

Таким образом, существует связь между «Расстояние от стены» и «Положение края стены на изображении».

Известные параметры:

-> Высота камеры, с которой снимается изображение

-> Угол обзора (ориентация камеры)

-> Положение края на изображении

Как я могу сформулировать расстояние (глубину) на основе вышеуказанных параметров? Существуют ли другие параметры, которые влияют на вышеуказанные отношения?

1 Ответ

0 голосов
/ 18 мая 2018

vres - вертикальное разрешение (например, 1080).vfov - вертикальное поле зрения (например, 20 градусов) f - фокусное расстояние (выведено из fov)

 vres/2 / f = tg(vfov/2)
 1/f = 2 * tg(vfov/2) / vres

dy - положение нижнего края на изображении относительно центра матрицы, тета - угол края относительноось объектива

 tg(theta) = dy / f = dy * 2 * tg(vfov/2) / vres
 theta = atan(dy / f = dy * 2 * tg(vfov/2) / vres) 

fi - угол наклона камеры альфа - угол наклона камеры относительно дна стены

alpha = fi +/- theta   (depending on pitch sign)

d - расстояние от дна стены - дно камеры h - высота камеры

d = h * ctg(alpha)
...