Как найти перпендикулярные линии в полярных координатах? - PullRequest
0 голосов
/ 18 мая 2018

Скажем, у меня есть линии, показанные на рисунке ниже, представленные в формате полярных координат (rho и theta).Эти строки являются выводом функции HoughLines OpenCV после некоторой постобработки.(Извините, я пока не могу вставлять изображения.)

enter image description here

Что я хочу сделать, так это дать по одной строке найти вселинии, которые перпендикулярны этой линии, как показано на втором изображении ниже.

enter image description here

Я понимаю, как это сделать с помощью декартовых линий, но я 'Я не могу понять, какие свойства rho и theta должны быть перпендикулярны двум линиям, хотя я понимаю, как полярные линии работают, по крайней мере, принципиально.Извините, если это элементарный материал, но я не могу найти какое-либо объяснение этого онлайн в любом месте.Нужно ли сначала преобразовывать линии в декартовы координаты, или есть какой-то более простой способ сделать это?Любая помощь будет высоко ценится, спасибо!

1 Ответ

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

Чтобы получить перпендикулярные линии в полярных координатах, вы просто берете тета для первой строки и находите все линии, чья тета = +/- 90 ° от первой тета.

Вам необходимо нормализовать углыбыть в пределах 0 ° -360 ° или какого-либо другого диапазона при их сравнении.

Так что, если линия 1 имеет тета line1.Theta
, то угол к другой линии равен a = (line2.Theta - line1.Theta)
ивам нужны все линии, где а близко к -90 °, 90 °, 270 °, -270 °, ...
в зависимости от того, как вы нормализуете свои углы

...