2015-01-13 2 views
0

Мне нужно знать, как провести линии параллельно, я начинаю с Opencv, пожалуйста, помогите. Я использую функцию houghlines для обнаружения линий, теперь я хочу, чтобы линии обнаружения были параллельны, я знаю, что ecuacion линий имеет y = k * x + b, а две прямые параллельны, когда k1 = k2. но как представить это в opencv с houghlines?строки, параллельные houghlines opencv + python

ответ

1

Линии возвращаемой HoughLines в полярных координатах (ρ, θ):

http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=houghlines#houghlines

линия - Выходной вектор линий. Каждая линия представлена ​​двухэлементным вектором (ρ, θ). ρ - расстояние от начала координат (0,0) (верхний левый угол изображения). θ - угол поворота линии в радианах (0 ~ вертикальная линия, π/2 ~ горизонтальная линия).

Линии с одинаковыми (в пределах некоторого коэффициента погрешности) Угол θ являются параллельными.

HoughLinesP, с другой стороны, возвращает конечные точки линии, так что вы должны вычислить угол наклона каждой линии с помощью:

m = (y2 - y1)/(x2 - x1) 
+0

спасибо за ответ, теперь у меня есть, что наклон, как рассчитать наклон другой линии, а затем сравнить? что-то вроде этого, но я не знаю, как обращаться с векторными линиями [0]. вот код https://www.dropbox.com/s/zngguzrp6svev0n/Captura%20de%20pantalla%20de%202015-01-14%2011%3A25%3A11.png?dl=0 – Gui

+0

Посмотрите на этот ответ используя 'itertools': http://stackoverflow.com/a/942551/1377097. Вам понадобятся 'комбинации()'. Я подозреваю, что часть вашей проблемы состоит в том, что вы сравниваете каждую строку с собой, а также с другими строками, что сделает каждую строку параллельной. – beaker

+0

Я не понимаю вашего ответа, однако, я нашел этот ответ http://stackoverflow.com/a/14345425/4376296, и у меня есть идея, как применить itertools.combination, однако я не знаю, как подходит это к линиям, любые предложения, пожалуйста? вот код https://www.dropbox.com/s/eyl10cods3nvqpk/Captura%20de%20pantalla%20de%202015-01-14%2015%3A05%3A42.png?dl=0 – Gui