Je veux reconnaître la forme de l'écriture manuscrite et comprendre quelle forme elle est probablement dans l'ensemble. En disant simplement, si je dessine un triangle, l'application doit la reconnaître en tant que triangle. Comment puis-je faire cela en utilisant C # ou Java, toute aide est appréciée. P>
Merci d'avance. P>
Ce sont certaines des formes dont j'ai besoin pour identifier
p>
5 Réponses :
Je suggérerais d'utiliser un Réseau de neurones . P>
Vous pouvez enseigner à quoi ressemblent les formes. P>
Ceci est une bibliothèque par exemple: p>
Vous pouvez essayer d'utiliser OpenCV pour cela. Emgucv est une bonne emballeuse à OpenCV pour .NET. Surveillez la démonstration de la forme (incluse dans OpenCV) P>
Téléchargez les fichiers binaires / sources Emgucv. Les applications de démonstration (binaires et sources) sont expédiées avec la bibliothèque.
Si vous recherchez des formes particulières à l'intérieur d'une image plus grande, alors OpenCV est une excellente alternative. EMGU.CV est un bon wrapper .NET pour cela. Voir Ma photo d'une implémentation de surf pour cela. Voir aussi Autres options à OpenCV , il a beaucoup à offre. Notez que cette approche nécessite beaucoup de pouvoir de traitement. P>
Si vous pouvez facilement identifier la forme que vous souhaitez comme une blob (c'est-à-dire, donnez à l'algorithme une image de cette forme uniquement) Vous pouvez effectuer une recherche sur «Ann OCR» («Réseaux de neurones artificiels» et «reconnaissance de caractères optiques» ")). Beaucoup (la plupart?) Ann-implémentations viennent avec un code d'échantillon pour l'alimentation des formes informatiques (lettres) et reconnaissant la forme la plus proche (lettres écrites à la main). Par exemple, Network Neural OCR . Je crois que cette approche résoudrait votre problème. (Sidenote: J'ai rencontré et testé de nombreuses libs qui peuvent le faire. Ce sont des réseaux de neurones 101.) P>
Si vous avez besoin d'algorithmes Blob pour l'Ann-OCR OpenCV, vous pouvez fournir ceci. P>
Ces deux approches sont facilement faciles à mettre en œuvre. P>
Si vous voulez "rouler le vôtre", je suggère les étapes suivantes: p>
Premièrement, squelette (fin sur l'image jusqu'à ce que toutes les lignes soient un pixel épais). Il y a plusieurs façons de faire cela, et c'est un problème bien étudié. Google pour plus d'informations. P>
Maintenant, à partir d'un pixel noir, passez et tracez le contour de l'image, un pixel à la fois. Vous ajoutez chacun de ces segments à une liste de segments décrivant la forme (chaque segment sera une ligne simple d'un pixel à son pixel adjacent). Maintenant, vous avez le contour de votre forme comme polygone à plusieurs côtés. P>
(étape possible à ce stade: lissez le contour en tirant chaque vertex plus près de la moyenne de ses voisins) p>
Maintenant, vous utilisez un algorithme de détection d'angle pour trouver les coins (regardez ici: http: //visual.ipan.sztaki.hu/corner/node7.html). P>
Cela devrait suffire à identifier les formes que vous avez énumérées. p>
Si vous voulez devenir plus intelligent, vous pouvez également identifier les types d'arêtes existant entre les coins. Si le segment entre deux coins reste dans un seuil de la ligne droite entre eux, vous le traitez comme une "ligne droite". Si ce n'est pas le cas, vous le traitez comme un bord incurvé. P>
avec des coins + bord droit / curving, vous pourriez probablement détecter l'une des formes que vous recherchez assez bien. P>
Il y a en effet un vaste arbre de recherche en reconnaissance de forme.
Si vos formes sont en effet certains ce qui prévisible et sont la géométrie de base,
La voie la plus simple est de trouver les bords et d'appliquer une transformation de Hough. p>
Certains matériaux de lecture gérables pour que vous puissiez commencer, [1] Scholar Google pour la détection de forme de la transformation de Hough http://scholar.google.com / Scholar? Q = Hough + Transform + Shambre + Reconnaissance & HL = EN & AS_SDT = 0 & AS_VIS = 1 & OI = Scholart [2] Hough Transform @ wiki http://en.wikipedia.org/wiki/hough_transform < / p>
Pourriez-vous poster des exemples (captures d'écran) des formes?
J'ai ajouté des coups d'écran