Если бы вы могли вычислить угол, под которым находится изображение цели, то расстояние до цели должно быть пропорционально cot
(т.е. 1/tan
) этого угла. Вы должны обнаружить, что количество пикселей в изображении примерно соответствует углам, но я сомневаюсь, что оно полностью линейно, особенно вблизи.
Поведение объектива вашей камеры, вероятно, повлияет на это измерение, поэтому оно будет зависеть от ваших точных настроек.
Почему бы не измерить размер цели на нескольких расстояниях и не построить график разброса? Затем вы можете подобрать кривую к данным, чтобы получить функцию размера-> расстояния для вашей конкретной системы. Если ваша камера близка к «идеальной» камере, то вы должны увидеть, что этот график выглядит как cot
, и вы сможете найти значения a
и b
, соответствующие dist = a * cot (b * width)
.
Если вы попробуете этот эксперимент, почему бы не опубликовать ответы здесь, чтобы другие могли извлечь из этого пользу?
[Редактировать: примечание об «идеальных» камерах]
Чтобы изображение с камеры выглядело для нас «реалистичным», оно должно приблизительно проецироваться на плоскость, находящуюся перед нашим глазом (поскольку изображения с камеры мы просматриваем, удерживая плоское изображение перед глазами). Представьте, что вы держите перед глазами лист кальки и рисуете силуэты предметов на этой бумаге. Вторая диаграмма на этой странице показывает, что я имею в виду. Вы можете описать камеру, которая достигает этого, как «идеальную» камеру.
Конечно, в реальной жизни камеры работают не через кальку, а с линзами. Очень сложные объективы. Взгляните на схему объектива на эта страница. По разным причинам, на изучение которых можно потратить всю жизнь, очень сложно создать линзу, которая работала бы точно так же, как образец с калькой работал бы при любых условиях. Начните с этой вики-страницы и читайте дальше, если хотите узнать больше.
Таким образом, вы вряд ли сможете вычислить точное соотношение между длиной пикселя и расстоянием: вы должны измерить его и построить кривую.
person
Rich
schedule
21.06.2012