-
Détection de chiffres
Bonjour,
J'essaye de détecter des chiffres [1->5] se trouvant sur des parties de pièces.
Malheureusement mes images ne sont pas d'une super qualité. J'ai essayé SURF à partir de l’exemple fourni dans opencv. J'obtiens pas/peu de résultats voir des résultats erronés.
Voici les images avec lesquelles je travaille. 3x l'extraction du chiffre 1 dans des positions différentes.
http://getwebb.org/d/gG997ZW1http://getwebb.org/d/nWOYF1zl
http://getwebb.org/d/yzTMxrb0
Pourriez-vous m'aider/m'orienter dans les traitements qui pourraient mener à une détection correcte ?
-
Bonjour,
Je n'arrive pas a voir tes images.
-
-
Ta question n'est pas tres claire pour moi.
Le but est de detecter les chiffres dans ton image, c'est a dire leur position ???
Ou bien tu veux lire le chiffre present dans l'image ???
Les images que tu donnes sont entieres ou non ???
Dans les exemples que tu donnes, un simple seuil suffit a isoler ton chiffre.
Ensuite un algorithme OCR standard n'aura aucun mal a te sortir la reponse.
-
Le but est de lire le chiffre.
Je vais partir sur ton idée d'un seuillage + ocr.
Mais comment puis-je faire si je n'ai pas de certitude sur le niveau de seuil à adopter ?
Tu parle d'algorithme d'ocr standard. Pourrais-tu m'en conseiller un ? Existe t'il des libraires qui peuvent me donner un pourcentage de certitude quant à la valeur lue ? Tout les algorithmes d'ocr sont-il insensibles à la rotation ?
Les images que je donne proviennent d'une image plus grande où j'ai réussi à isoler au maximum le chiffre.
-
Bonjour,
Un calcul du seuil peut se faire de plusieurs facons.
- Prendre le milieu entre le min et le max
- Chercher la valeur moyene de la luminance.
- ...
Il existe des algorithmes de binarization qui calculent le seuil de maniere locale (Niblack, Sauvola,...). C'est une idee aussi, mais plus couteux d'un point de vue algorithmique.
Je ne suis pas expert en OCR. Mais Je pense que ce qui marche le mieux sont les algorithmes bases sur le machine learning. Ils sont probablement invariant a la rotation.
-
Merci isangoma pour ta réponse.
J'ai sur ton conseil appliqué un seuil sur les images. Mon seuil tourne autour de 120 de manière à avoir une forme respectant au mieux le chiffre. Je sais que suivant les conditions d'expérimentation (Variation d'éclairage et moyenne de luminance) celui-ci sera amené à varier légèrement.
J'ai donc réessayé, après seuillage les technique que j'avais déjà trouvé à savoir: SURF (Détection de caractéristiques) & Tesseract (OCR).
SURF ne me donne pas vraiment de résultats et les matchs sont plutôt rares alors que les erreurs sont fréquentes.
Du coté de Tesseract, sous Visual Studio 2010 ça ne marche pas (= ça compile et ça plante à cause d'erreur de dll, inutile de me parler de les recompiler, j'y ai passé au mon we sans succès) :( J'ai essayé avec le binaire de tesseract qui malheureusement ne reconnait pas non plus les chiffres.
Je suis ouvert à toutes pistes me permettant de récupérer la valeur des chiffres présents sur ces images.
-
Comme dit plus haut. OCR, je connais un peu la theorie, mais je n'ai jamais pratique.
Regarde cette lib : Par ici
Cela pourra peut-etre t'aider.
Bonne chance.
-
Salut a vous,
J'ai exactement le même objectif.
Je souhaiterais extraire des lettres et des chiffres d'une image.
J'ai essayé plusieurs lib open source d'OCR mais il semblerait que celle-ci soit optimisées pour le traitement de document scannés et non pas d'image.
J'ai utilisé GOCR et les résultats ne sont pas top sur une photo ou une image.
Par contre tout ce qui est document numérisé c'est du quazi sans faute.
J'ai également essayé de passer mon image en pbm, pnm, pgm, selon certain niveau de gris et je n'obtiens tjs pas de résultat exploitable.
Si vous avez des pistes je suis également preneur...
Cdlt,
Une liste exhaustive de ce qui ce fait en open source ici : http://www.ocrgrid.org/ocrdev.html
J'ai essayé également OCRAD et ça ne match pas suffisamment...
-
Salut,
Des exemples de tes donnes serait utiles.
Par donne j'entend entres et sorties