Точная работа преобразования hough в Matlab

Может ли кто-нибудь объяснить мне, как работает функция «преобразование hough» в Matlab ?? Проблема в том, что у меня есть изображение, содержащее два прямых прямоугольника, и один прямоугольник наклонен под некоторым углом. По моему мнению, после применения преобразования hough; я должен получить линейную структуру 1X6, но я получаю структуру 1x14. Может кто-нибудь помочь мне? Я также загрузил изображения:

два прямых прямоугольника, один наклонный прямоугольник примененное преобразование


person Shayan Ali    schedule 15.06.2012    source источник


Ответы (2)


Вы не можете ограничить преобразование Хафа, чтобы получить структуру 1x6. Это не дает стабильных результатов. Оно также не работает хорошо, когда вы смотрите вперед на изогнутых дорогах. Я не должен получать структуру 1x6 из каждого кадра. Вместо этого я должен взять все возвращенные линейные сегменты и использовать некоторую логику для определения разметки дорожек.

person Shayan Ali    schedule 16.08.2012

Прежде всего, ваше изображение на самом деле выглядит слегка размытым. Я не знаю, так ли это на самом деле, но если это так, вам нужно запустить алгоритм обнаружения краев, чтобы ваше преобразование hough не обнаруживало размытую часть линии.

Во-вторых, вам нужно уменьшить количество обнаруженных линий, просто удалив все линии, через которые не проходит достаточное количество точек. Это можно сделать, установив пороговое значение переменной H в [H,t,r]=hough(image).

Дополнительные источники:

http://en.wikipedia.org/wiki/Hough_transform http://www.mathworks.com/help/toolbox/images/ref/hough.html

person umps    schedule 16.08.2012