Un moyen pour parvenir à séparer chaque lettres d’une ligne consiste à effectuer la somme des pixels sur chaque colonnes et de détecter les creux qui indiquent la présence d’un espace et donc de la lettre suivante.
Voici une image modifié afin de faire apparaitre plus facilement un résultat:

Résultat du graphe (somme pixels de chaque colonnes):

Les résultat ici ne sont pas très intéressant car il ne donne qu’une simple idée de la forme de l’image. Il est plus intéressant d’effectuer le même traitement sur une ligne de caractères extraite avec le même procédé mais vus de droite ou de gauche.
Avec une ligne:

Aperçu du graphique (somme des pixels vue de dessus ou dessous):

Aperçu du découpage:
Le seuil qui permet de déterminer si une ligne est vide est ici 1.

Le résultat obtenu au final:
(juste le début)





…
Lien
Reconnaissance de caractères interressant depuis une vebcam
novembre 23rd, 2008
Posted by
admin |
ROC, Traitement image |
no comments
Afin de réaliser un ROC en php il est nécessaire d’arriver à séparer les différentes lettres pour ensuite les analyser et les comparer à une librairie de caractères.
Avant cela il faut arriver a extraire les lignes d’un paragraphe. Voici un exemple:

Graphique du résultat de la somme de pixel noir vue de gauche ou de droite. (Le graph est généré par la librairie artichow)
On constate la première ligne plus large qui correspond au premier sommet sur le graphique… On voit aussi par la même occasion que les sommets dessines un 3 pics et 2 creux, le second pic plus petit que les 1 et le trois et le pic 3 plus grand que le premier et le second, cette caractéristique permettra de reconnaitre rapidement un texte à l’envers.

Aperçu de chaques lignes à extraire.

Résultat, chaques lignes est extraite du paragraphe:





Je proposerais prochainement ici le code complet d’un ocr primaire réalisé en php.
novembre 23rd, 2008
Posted by
admin |
ROC, Traitement image |
one comment