Hough Transform для поиска сегментов кривой - PullRequest
6 голосов
/ 31 марта 2011

Преобразование Хафа можно использовать для извлечения линий из изображений.Его также можно использовать для извлечения кривых, хотя это немного сложнее, потому что многомерные преобразования Хафа требуют больших ресурсов.Мне было интересно, как можно ограничить преобразование Хафа пространством для 2D-голосования для кривой порядка 3, т. Е. X ^ {3} + ax ^ {2} + bx + c?

Кто-нибудь знает какие-либо хорошие сайты, объясняющие это?(не могу найти ни одного).Или объяснение здесь, если его нет:).

Ответы [ 3 ]

4 голосов
/ 01 апреля 2011

Суть обобщенного преобразования Хафа в том, что "стороны" аккумулятора - это ответ, который вы ищете.Если вы пытаетесь сопоставить эллипсы или произвольные кривые - в вашем случае параметры a, b, c, то вы должны построить 3D-аккумулятор и искать там максимум.Google "обнаружение эллипса с использованием грубого преобразования" или "обнаружение произвольной формы с использованием грубого преобразования".

Существует множество способов оптимизировать поиск в многомерном аккумуляторе, поэтому не бойтесь создавать многомерное HT-параметризованное пространство -он может дать вам хороший обзор вашей проблемы.

Вы можете разделить поиск на два этапа - например, построить классический 2D для параметров a и b, а затем использовать очень простой 1D аккумулятор для поиска c,это было сделано при обнаружении фронта, но имейте в виду, что это разделение может привести к большим ошибкам, если вы a, b, c взаимозависимы.

Способы оптимизации многомерного преобразования Хафа: (вероятностное) рандомизированное преобразование Хафа, гибридное и многомерное преобразование Хафа.

Также обобщенное преобразование Хафа и преобразование Радона почти синонимичны, поэтому для определения произвольной формы «преобразование Радона» может дать вам лучшие идеи: преобразование Хафа представляет собой дискретную версию непрерывного преобразования Радона.

1 голос
/ 31 марта 2011

Попробуйте поискать «Обобщенное преобразование Хафа», и вы найдете много материала об этом, включая оригинальную статью Балларда, которая кажется вполне читабельной.Какой из них лучший для вас, зависит от того, с чего вы начинаете, поэтому Google, вероятно, ваш лучший вариант.

scholar.google.com предоставляет много статей, но немногие из них бесплатны (хотя, если у вас есть доступ, это, вероятно, лучшее начало).

0 голосов
/ 01 апреля 2011

Вам нужно только найти кривую, для которой вы уже знаете свои параметры a, b, c? Используя GHT, вы можете создать отдельное пространство для голосования из вашего уравнения. Используйте его, чтобы проголосовать в двухмерном пространстве, и вы найдете свою кривую. Если вы пытаетесь определить a, b, c из преобразования Хафа, это будет сложнее:)

...