La détection d'un objet sur l'image en fonction de la forme géométrique
J'ai une compréhension de base dans le traitement de l'image et maintenant étudier en profondeur le "Traitement Numérique de l'Image" livre par Gonzales.
Lorsque l'image donnée et l'objet de l'intérêt approchée forme est connue (par exemple, cercle, triangle),
quel est le meilleur algorithme /méthode pour trouver cet objet sur l'image?
L'objet peut être légèrement déformée, de sorte approche par force brute ne va pas aider.
OriginalL'auteur | 2009-03-06
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer d'utiliser des Histogrammes de Gradients Orientés (également appelé Bord de l'Orientation Histogrammes). Nous avons utilisé pour la détection des panneaux de signalisation routière. http://en.wikipedia.org/wiki/Histogram_of_oriented_gradients et les documents produits par le projet de Loi Triggs devrait vous obtenir a commencé.
OriginalL'auteur
Je vous recommande d'utiliser la transformation de Hough, qui vous permet de trouver tout modèle décrit par une équation. Quoi de plus le Hough transformation travaille également idéal pour déformer des objets.
L'algorithme et la mise en œuvre elle-même est assez simple.
Plus de détails peuvent être trouvés ici: http://en.wikipedia.org/wiki/Hough_transform , même un code source de cet algorithme est inclus sur une page référencé (http://www.rob.cs.tu-bs.de/content/04-teaching/06-interactive/HNF.html).
J'espère que vous aide.
OriginalL'auteur
Je regarde votre problème en deux étapes:
première trouver votre objet limite extérieure:
Je suis en supposant que vous avez contraste assez de l'image, que vous pouvez facilement seuil pour obtenir une image binaire de votre objet. Vous avez besoin d'extraire l'objet de limites à la chaîne de code.
puis l'analyse de la limite est de la forme pour en déduire la forme (cercle, polygone,...):
Vous pouvez calculer la courbure en chaque point de la frontière de la chaîne, et ainsi de déterminer combien d'angles vifs (c'est à dire élevé de la courbure de la valeur) il y a dans votre forme. Plusieurs angles vifs signifie que vous avez un polygone, aucun signifie que vous avez un cercle (courbure constante).
Vous pouvez trouver une description sur la façon d'obtenir votre objet est la limite à partir de l'image binaire et les moyens de l'analyser dans Gonzalez de Traitement d'Image Numérique, chapitre 11.
J'ai également trouvé ce présentation perspicace sur l'image binaire analyse (PPT) et un script matlab qui met en œuvre certaines des techniques que Gonzalez parle, dans le DIP.
OriginalL'auteur
Je vous recommande fortement de l'utiliser OpenCV, c'est une grande vision par ordinateur de la bibliothèque qui a grandement aider avec tout ce qui est lié à la vision par ordinateur. Leur site web n'est pas vraiment attrayant, ni utile, mais l'API est vraiment puissant.
Un livre qui m'a beaucoup aidé car il n'y a pas de charge de la documentation sur le web est L'Apprentissage D'OpenCV. La documentation de l'API est bon, mais pas excellent pour apprendre comment l'utiliser.
Liées à votre problème, vous pouvez utiliser un Habile détecteur de Bord pour trouver la frontière de votre article, puis de les analyser, ou que vous pourriez passer avec des et de transformation de Hough pour la recherche des lignes et des cercles.
OriginalL'auteur
vous pouvez spécialement essayez de visage "reconnaissance". Parce que, vous savez que c'est un sujet spécifique. Par ailleurs, les "détection de visage", etc. EmguCV peut être utile pour vous.. Il est .Net wrapper de l'Intel OpenCV bibliothèque de traitement d'images.
OriginalL'auteur
Il ressemble professeur Jean Rouat de l'Université de Sherbooke, a trouvé un moyen de trouver des objets dans des images par un traitement neutre de dopage réseau de neurones. Son appellation de la technologie RN-POINTES, semble être disponible pour la délivrance des licences.
OriginalL'auteur