2009-03-23 5 views
4

Я пытаюсь обнаружить сегменты линии в изображении.Обнаружение сегментов линии на изображении

Из того, что я собираю, алгоритм Hough обнаруживает линии, но не сегменты.

Кто-нибудь знает, как я буду это делать, или любые библиотеки, подходящие для этого?

Im мое дело, я пытаюсь обнаружить звездные тропы (которые для этих целей все прямые) от фотографии, поэтому я могу уменьшить их до очков.

Если это важно, я пытаюсь реализовать это в C#

Есть идеи?

ответ

3

Для unsmearing размытость, вы должны смотреть на deconvolution. Преобразование Хафа могло бы помочь найти исходный вектор движения (я подозреваю, что он будет работать отлично для кучки параллельных сегментов линии), но деконволюция - это то, что вы использовали бы, чтобы вернуть исходные звезды из них, и эти ребята используют другой метод для оценки исходного вектора движения:

before http://www.sweaglesw.com/cs448/thumb-beehive-observed.jpg after http://www.sweaglesw.com/cs448/thumb-beehive-mt.jpg

1

OpenCV Хаф преобразования cvHoughLines2 имеет вероятностный режим, который определяет линейные сегменты:

  • CV_HOUGH_PROBABILISTIC - преобразование вероятностный Хаф (более эффективно в том случае, если изображение содержит несколько длинных линейных сегментов). Он возвращает сегменты линий, а не целые строки. Каждый сегмент представлен начальными и конечными точками, а матрица должна быть (созданная последовательность) типа CV_32SC4.

Я проверил его и он работает