Я недавно начал курс CV и просматриваю старые домашние задания (текущие не выпускаются). Я реализовал функцию Hough Lines, я прохожу через каждую точку, если это ребро, затем я прохожу через 0-180 (или от -90 до 90) значений theta, вычисляя rho и, наконец, сохраняю в массиве.Как найти строку из полярных координат (Hough Transform Confusion)
Когда я попытался преобразовать обратно из полярных координат, я могу найти пару X, Y (используя rho * sin (theta) и rho * cos (theta)), однако я не понимаю, как преобразовать это к прямой в декартовом пространстве. Чтобы иметь линию, вам нужно либо 2 точки, либо точку и направление (при условии, что луч тогда, конечно)
Я просто понимаю, где точка.
Я сделал несколько поисков, но не могу показать довольно найти ответ, люди склонны говорить, полярный говорит вам x, то bam у вас есть линия в декартовой, но мне кажется, что отсутствует соединение где «бам» был.
Что я имею в виду, описано здесь; Explain Hough Transformation
Также Vector/line from polar coordinates Где это вопрос, как начертить линию от полярных координат, что ответ был хорошо вот х и у. но мне никогда не упоминается остальная часть этого решения.
Является ли линия каким-то образом связана с y = mx + b, где m является тета и b является rho?
Если нет, то как преобразовать обратно в строку в декартовом пространстве.
EDIT: После просмотра ответ Sunreef, и пытается преобразовать так у было на это свою сторону, я обнаружил этот ответ, а также: How to convert coordinates back to image (x,y) from hough transformation (rho, theta)?
Это появляется то, что я думаю, что я смотрю на это это
м = -cotθ
с = р * cosecθ
РЕДАКТИРОВАТЬ # 2 я Fo и некоторые другие примеры в сети. В принципе да, мне понадобятся rho * sin (theta) и rho * cos (theta)
Другая часть, которая меня испортила, заключалась в том, что мне нужно было конвертировать в радианы, как только я это сделал, я начал получать хорошие результаты ,
Я не вспоминаю себя от верхней части головы, если ваше окончательное уравнение прав, однако я переделал вещи, пытаясь добраться до y = ... но я думаю, что, возможно, я сделал это неправильно, ссылка, которую я добавил в моем EDIT мне удалось найти благодарность за ваш ответ. – onaclov2000