Как я измеряю расстояния в изображении?

Скажем, у нас есть изображение как так

alt text
(источник: curiousexpeditions.org)

Скажем, мы уже использовали фильтры и граничный алгоритм обнаружения в этом рис. Теперь моя цель состоит в том, чтобы измерить расстояния (НЕ фактические расстояния, расстояние может быть в любой произвольной единице). например: Как я нахожу длину Холла? (до окна)

Или высота книжных полок? Как точно делают Вы помещаете "масштаб" и меру. Я ищу идеи. Однако помогло бы, были ли ответы с точки зрения OpenCV.

6
задан Glorfindel 27 July 2019 в 05:34
поделиться

2 ответа

Это зависит от того, что вы пытаетесь сделать.

Вы упомянули, что хотите измерить высоту книжных полок. Если вы согласны считать, что ближняя область книжной полки «короче», чем высота конца книжной полки в конце ряда, все, что вам нужно, - это измерить расстояние. Выберите единицу измерения «пиксели» и затем измерьте расстояние, используя теорему Пифагора. (x ^ 2 + y ^ 2 = z ^ 2)

Вероятно, вы действительно ищете, чтобы высота ближнего книжного шкафа была такой же, как высота дальнего книжного шкафа. В этом случае вам потребуется дополнительная информация. Вы должны выполнить преобразование 2D -> 3D: у вас есть 2D-изображение, и вам нужно восстановить 3D-изображение из этого изображения. В этот момент вам понадобится 3-я часть информации, так как вам нужны 3 переменные (X, y, z) из 2 переменных.

Вы определенно можете сделать это с помощью OpenCV, если правильно откалибруете систему и у вас будет вторая контрольная точка (например, лазерная линия). Такой подход известен как структурированный свет - см. по этой ссылке для получения дополнительной информации или «структурированный свет для машинного зрения» в Google

1
ответ дан 17 December 2019 в 22:11
поделиться

Поскольку вы можете предположить, что книжная полка параллельна той, которая находится под ней, то фактическое расстояние между книжными полками в любой точке одинаково. Вы можете определить, что после X пикселей глубины воспринимаемая высота уменьшается на Y%. Вы должны быстро установить четкую закономерность. Все параллельные линии и прямые углы в вашем реальном пространстве упростят вычисления.

Нанесите несколько отправных точек в начале и в конце каждой книжной полки. Вы можете найти здесь соответствующие математические темы:
http://en.wikipedia.org/wiki/Slope
http://en.wikipedia.org/wiki/Cartesian_coordinate_system

0
ответ дан 17 December 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: