Вот пример Hough Transform из библиотеки CImg а>
Я пытаюсь понять, как работает эта реализация, поскольку она сильно отличается от других, которые вы можете найти в Интернете.
Насколько я понимаю, для преобразования Хафа вам нужно перебрать каждую точку края и вычислить значения ро/тета на 180 градусов, чтобы заполнить поле.
Но в реализации CImg, когда вы нажимаете пробел, программы просто перебирают каждый пиксель и один раз вычисляют ро/тета, и в конце все равно выдает правильный результат.
Я пытаюсь реализовать это самостоятельно без помощи каких-либо библиотек, но я не могу понять, как это работает. Я думаю, что «магия» происходит между двумя градиентными изображениями, сделанными перед циклом, но я не могу понять это.
Может кто-то указать мне верное направление?