Определить отрезки на изображении - PullRequest
4 голосов
/ 24 марта 2009

Я пытаюсь определить отрезки на изображении.

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

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

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

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

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 15 октября 2009

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

before after

1 голос
/ 28 августа 2009

Преобразование OpenCV Hough cvHoughLines2 имеет вероятностный режим, который обнаруживает отрезки линии:

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

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

0 голосов
/ 24 февраля 2011

Посмотрите на LSD детектор сегмента линии , опубликованный с подробностями реализации и исходным кодом.

...