Может ли кто-нибудь объяснить мне, как работает функция «преобразование hough» в Matlab ?? Проблема в том, что у меня есть изображение, содержащее два прямых прямоугольника, и один прямоугольник наклонен под некоторым углом. По моему мнению, после применения преобразования hough; я должен получить линейную структуру 1X6, но я получаю структуру 1x14. Может кто-нибудь помочь мне? Я также загрузил изображения:
Точная работа преобразования hough в Matlab
Ответы (2)
Вы не можете ограничить преобразование Хафа, чтобы получить структуру 1x6. Это не дает стабильных результатов. Оно также не работает хорошо, когда вы смотрите вперед на изогнутых дорогах. Я не должен получать структуру 1x6 из каждого кадра. Вместо этого я должен взять все возвращенные линейные сегменты и использовать некоторую логику для определения разметки дорожек.
Прежде всего, ваше изображение на самом деле выглядит слегка размытым. Я не знаю, так ли это на самом деле, но если это так, вам нужно запустить алгоритм обнаружения краев, чтобы ваше преобразование hough не обнаруживало размытую часть линии.
Во-вторых, вам нужно уменьшить количество обнаруженных линий, просто удалив все линии, через которые не проходит достаточное количество точек. Это можно сделать, установив пороговое значение переменной H в [H,t,r]=hough(image).
Дополнительные источники:
http://en.wikipedia.org/wiki/Hough_transform http://www.mathworks.com/help/toolbox/images/ref/hough.html