Объяснение параметров ро и тета в HoughLines


person Ghilas BELHADJ    schedule 10.11.2016    source источник
comment
Это своего рода шаг в пространстве накопителя, а не в пространстве изображения. Это для 2D гистограммы. Если бы это была одномерная гистограмма, это то же самое, что установить размер каждого бина.   -  person Miki    schedule 10.11.2016


Ответы (2)


Я искал это часами и до сих пор не нашел места, где это аккуратно объяснено. Но, собрав осколки, я думаю, что понял.

Алгоритм перебирает каждый пиксель края (например, результат Кэнни) и вычисляет ρ с помощью уравнения ρ = x * cosθ + y * sinθ для множества значений θ.

Фактический шаг θ определяется параметром функции, поэтому, если вы используете обычное значение тета math.pi / 180.0, алгоритм будет вычислять всего ρ 180 раз только для одного краевого пикселя в изображении. Если бы вы использовали большую тету, было бы меньше вычислений, меньше столбцов/сегментов аккумулятора и, следовательно, меньше найденных строк.

Другой параметр ρ определяет, насколько "толстой" является строка аккумулятора. При значении 1 вы говорите, что хотите, чтобы количество строк накопителя было равно максимально возможному ρ, что является диагональю обрабатываемого изображения. Таким образом, если для каких-то двух значений θ вы получите близкие значения для ρ, они все равно попадут в отдельные сегменты аккумулятора, потому что вы стремитесь к точности. Для большего значения параметра rho эти два значения могут оказаться в одном и том же сегменте, что в конечном итоге даст вам больше строк, поскольку большее количество сегментов будет иметь большое количество голосов и, следовательно, превысит пороговое значение.

Некоторые полезные ресурсы:

http://docs.opencv.org/3.1.0/d6/d10/tutorial_py_houghlines.html

https://www.mathworks.com/help/vision/ref/houghtransform.html

https://www.youtube.com/watch?v=2oGYGXJfjzw

person mj3c    schedule 15.09.2017

Чтобы обнаружить линии с помощью преобразования Хафа, лучше всего представить линии с помощью уравнения двух параметров rho и theta, как показано на этом изображении. Уравнение следующее:

х cos⁡(θ)+y sin⁡(θ)=ρ

где (x,y) — параметры линии.

Эта запись в параметрах (θ, ρ) позволяет обнаружению быть менее зависимым от положения, чем запись в виде y = a * x + b.

(θ,ρ) в этом контексте дают дискретизацию для этих двух параметров

Хоть объяснение

person RaymoAisla    schedule 10.11.2016
comment
как это вообще что-то объясняет - person john ktejik; 08.09.2017