10

J'ai une compréhension de base dans le traitement de l'image et en train d'étudier en profondeur le livre « Digital Image Processing » par Gonzales. Lorsque la forme approximative de l'image donnée et de l'objet d'intérêt est connue (par exemple cercle, triangle), quel est le meilleur algorithme/méthode pour trouver cet objet sur l'image?détection d'un objet sur l'image basée sur la forme géométrique

L'objet peut être légèrement déformée, approche brute force ne sera pas utile.

Répondre

5

Je vous recommande d'utiliser la transformation de Hough, qui vous permet de trouver un motif donné est décrit par une équation. De plus, la transformation Hough fonctionne également très bien pour les objets déformés.

L'algorithme et la mise en œuvre elle-même sont assez simples. Plus de détails peuvent être trouvés ici: http://en.wikipedia.org/wiki/Hough_transform, même un code source pour cet algorithme est inclus sur une page référencée (http://www.rob.cs.tu-bs.de/content/04-teaching/06-interactive/HNF.html).

J'espère que cela vous aide.

+0

La transformation de Hough est une force brute, comme vous le remarquerez. Cela fonctionne pour les lignes, peut-être les cercles. Cependant l'espace de Hough explose avec des formes avec plus de paramètres. – Ivan

3

je regardais votre problème en deux étapes:

  • premier trouver votre limite extérieure de l'objet: Je en supposant que vous avez l'image assez contrastée, que vous pouvez facilement le seuil pour obtenir un binaire image de votre objet. Vous devez extraire le code de chaîne de l'objet.

  • puis analyser la forme de la limite pour déduire la forme (cercle, polygone, ...): Il est possible de calculer la courbure en chaque point de la chaîne de limite et donc de déterminer le nombre d'angles vifs (courbure ie haut valeur) il y a dans votre forme. Plusieurs angles vifs signifient que vous avez un polygone, aucun ne signifie que vous avez un cercle (courbure constante).

Vous trouverez une description sur la façon d'obtenir la limite de votre objet à partir de l'image binaire et des moyens d'analyse dans Gonzalez's Digital Image Processing, chapter 11.

J'ai également trouvé ce insightful presentation on binary image analyis (PPT) et un matlab script qui implémente certaines des techniques dont parle Gonzalez dans DIP.

+0

Réalisé Je répondais à une question différente de ce qui était demandé. Cependant, vous pouvez toujours essayer de trouver des objets de cette façon, puis ne conserver que les formes que vous recherchez. – Ivan

1

Je recommande vivement d'utiliser OpenCV, il est une grande bibliothèque de vision informatique qui aide grandement à tout ce qui concerne la vision par ordinateur. Leur site web n'est pas vraiment attrayant, ni utile, mais l'API est vraiment puissante.

Un livre qui m'a beaucoup aidé depuis là sur le web ne sont pas une charge de la documentation est Learning OpenCV. La documentation fournie avec l'API est bonne, mais pas excellente pour apprendre à l'utiliser. En relation avec votre problème, vous pouvez utiliser un détecteur Canny Edge pour trouver la bordure de votre objet, puis l'analyser, ou vous pouvez poursuivre et transformer Hough pour rechercher des lignes et des cercles.

1

vous pouvez spécialement essayer 'reconnaissance faciale'.Parce que, vous savez que c'est un sujet spécifique. D'autre part 'détection de visage', etc. EmguCV peut être utile pour vous .. C'est l'encapsulation .Net à la bibliothèque de traitement d'image Intel OpenCV.

1

Il semble que le professeur Jean Rouat de l'Université de Sherbooke, a trouvé un moyen de trouver des objets dans les images en traitant un réseau de neurones à spiking neutre. Son nom de technologie RN-SPIKES, semble être disponible pour l'octroi de licences.

Questions connexes