2009-03-23 5 views
4

J'essaie de détecter des segments de ligne dans une image. D'après ce que je comprends, l'algorithme de Hough détecte les lignes mais pas les segments.Détection de segments de ligne dans une image

Est-ce que quelqu'un sait comment je vais faire à ce sujet, ou des bibliothèques appropriées pour cela?

Dans mon cas, j'essaie de détecter les traînées d'étoiles (qui à ces fins sont toutes droites) à partir d'une photographie afin de pouvoir les ramener aux points.

S'il est important, je suis en train de mettre en œuvre ce en C#

Toutes les idées?

Répondre

3

Pour le flou de mouvement unsmearing, vous devriez regarder deconvolution. La transformée de Hough pourrait être utile pour trouver le vecteur de mouvement original (je suppose que cela fonctionnerait bien pour un tas de segments de ligne parallèles), mais la déconvolution est ce que vous utiliseriez pour récupérer les étoiles originales, et ces types utilisent une autre méthode d'estimation du vecteur de mouvement d'origine:

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

1

La transformation de Hough OpenCV cvHoughLines2 a un mode probabiliste qui détecte les segments de ligne:

  • CV_HOUGH_PROBABILISTIC - Hough probabiliste de transformation (plus efficace en cas si l'image contient quelques longs segments linéaires). Il renvoie les segments de ligne plutôt que les lignes entières. Chaque segment est représenté par des points de départ et de fin, et la matrice doit être (la séquence créée sera) de type CV_32SC4.

Je l'ai testé et il fonctionne

Questions connexes