lire du texte dans une image

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
jeanglaude
Niveau 3
Niveau 3
Messages : 32
Enregistré le : sam. 01 mai 2021 10:13
Status : Hors ligne

lire du texte dans une image

#1

Message par jeanglaude »

je suis débutant en Autoit et je me demandais si il existe un composant capable de lire le texte présent sur une image ?
un peu facon OCR (reconnaissance optique de caractères)

si ca n'existe pas, j'avais pensé à une petite grille d'analyse de 64 pixels
par exemple si le texte est noir sur fond blanc, je peux regarder où se trouvent les pixels noirs et les pixels blancs
et le comparer avec une petite base de donnée de "pattern" de lettres et chiffres

bon après ca risque de manquer de fiabilité, et ca va prendre beaucoup d'heures à coder une telle fonction

rien que d'identifier la position X1/Y1 et X2/Y2 d'une lettre ca va être compliqué
où commence la lettre et où elle se termine ?
ok il y'a un espace blanc entre les lettres, mais des espaces blanc dans l'image il y'en a plein
en fin de compte ce que je chercherais dans l'image c'est une alternance de pixel noirs et de pixels blancs
afin de pouvoir définir la zone de texte dans l'image sous forme de coordonnées X1/Y1 et X2/Y2

après que j'ai la zone où se trouve le texte, il va falloir définir la taille de la grille de pixel pour une lettre,
par exemple je vois que les pixels noirs ne dépassent pas 30 pixels de haut
ensuite combien j'ai d'espaces dans cette chaine de caractères = je connais le nombre de lettres et leur largueur maximale en pixel

donc je peux savoir que 1 lettre = 30 pixels de haut et 20 pixels de large
ca me fait une grille de 30 x 20 pixels = 600 pixels
mais analyser 600 pixels c'est beaucoup trop, disons que je fais une petite grille de 64 pixels,
ca va donner la forme grossière d'une lettre, mais ca pourrait être suffisant pour la détecter

le problème après c'est qu'il va falloir une certaine tolérance aux pixels connexes
là je ne vois pas comment on peut gérer ca

en fin de compte j'essaye de faire la même chose que pour un code barre ou un QR code :
lire une image que je transforme en données numériques utilisables sous forme de string

ca me parait chaud à faire quand même, et j'ai pas 1 an devant moi

d'autres trucs qui seraient sympa à intégrer dans un script Autoit c'est la reconnaissance vocale,
mais là c'est un boulot encore plus énorme, ca existe un composant qui fait ca ?
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: lire du texte dans une image

#2

Message par walkson »

Bonjour,

Code : Tout sélectionner

_TalkOBJ("Please wait, now the mails are being downloaded")
_TalkOBJ("Please, wait process.")

Func _TalkOBJ($s_text)
    Local $o_speech, $Flag,$rep
	$a = TimerInit()
    $o_speech = ObjCreate("SAPI.SpVoice")
	$o_speech.Rate = -5
	$o_speech.Volume = 100
	If FileExists($s_text) Then
		$Flag = 4
	Else
		$Flag = 2
	EndIf
    $o_speech.Speak ($s_text,$Flag)

    $o_speech = ""
EndFunc ;==>_TalkOBJ()
Sous Win 7, je ne sais plus s'il faut installer une voix ?
Sinon, regardez à cette adresse https://www.autoitscript.com/wiki/User_ ... _Functions
Vous devriez y trouver votre bonheur :mrgreen:
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: lire du texte dans une image

#3

Message par mikell »

walkson, SAPI.SpVoice c'est du TTS pas de la reconnaissance vocale :mrgreen:

A priori vu le titre du sujet ce qui ferait l'affaire (OCR) c'est Tesseract
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
jeanglaude
Niveau 3
Niveau 3
Messages : 32
Enregistré le : sam. 01 mai 2021 10:13
Status : Hors ligne

Re: lire du texte dans une image

#4

Message par jeanglaude »

génial la voix digitalisée, j'ai essayé ca marche nickel !

Tesseract j'ai trouvé le github, ca a l'air intéréssant, je vais voir ca tout à l'heure
Répondre