[R] Lire le texte d'une image

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
theAvenger
Niveau 5
Niveau 5
Messages : 159
Enregistré le : dim. 14 nov. 2010 15:26
Localisation : Alsace
Status : Hors ligne

Re: [..] Lire le texte d'une image

#21

Message par theAvenger »

Dans ce cas, la solution de mikell est la meilleure, je pense.
Avatar du membre
theAvenger
Niveau 5
Niveau 5
Messages : 159
Enregistré le : dim. 14 nov. 2010 15:26
Localisation : Alsace
Status : Hors ligne

Re: [..] Lire le texte d'une image

#22

Message par theAvenger »

Je viens de penser à un truc.

Les sites Internet doivent être adaptés aux non-voyants pour pouvoir être mis en ligne. Il doit donc y avoir normalement un texte qui est visible si l'image n'est pas chargée. Ce texte doit indiquer ce que montre l'image (brièvement) et il indiquerait donc ici ton "adresse IP".
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 le texte d'une image

#23

Message par mikell »

Y a une combine glauque qui pourrait aider
Dans le code source tu peux avoir l'adresse de l'image
Si tu lances cette adresse dans un navigateur, tu auras juste l'image sur un fond blanc, dans le coin en haut à gauche
Si en plus tu tapes F11 tu l'auras dans le coin en haut à gauche de l'écran
Et là tu fais (ou pas...) ta Screencapture et tu utilises mon script :)

theAvenger, c'est de la balise alt dont tu parles, si elle existait il l'aurait vue dans le code source
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
theAvenger
Niveau 5
Niveau 5
Messages : 159
Enregistré le : dim. 14 nov. 2010 15:26
Localisation : Alsace
Status : Hors ligne

Re: [..] Lire le texte d'une image

#24

Message par theAvenger »

Je le sais bien. Mais je ne sais pas s'il a déjà chercher dans le code source.
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 le texte d'une image

#25

Message par mikell »

Ben s'il a fait Ctrl-F et qu'il n'a rien trouvé... Image
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
theAvenger
Niveau 5
Niveau 5
Messages : 159
Enregistré le : dim. 14 nov. 2010 15:26
Localisation : Alsace
Status : Hors ligne

Re: [..] Lire le texte d'une image

#26

Message par theAvenger »

En effet, je n'avais pas vu. Je n'ai pas d'autres solutions à proposer.
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 le texte d'une image

#27

Message par mikell »

Autre combine :
Télécharger l'image (InetGet)
La lancer (ShellExecute)
Dans la fenêtre d'affichage qui s'ouvre, y a forcément le nom de l'image dans le titre
Et là utiliser mon script avec WinGetPos :twisted:
Modifié en dernier par mikell le sam. 25 juin 2011 14:59, modifié 1 fois.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
theAvenger
Niveau 5
Niveau 5
Messages : 159
Enregistré le : dim. 14 nov. 2010 15:26
Localisation : Alsace
Status : Hors ligne

Re: [..] Lire le texte d'une image

#28

Message par theAvenger »

Si c'est une image, ça veut dire qu'il y en a une pour chaque "adresse ip" possible. Est-ce que "l'adresse ip" est dans le nom de l'image ?
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 le texte d'une image

#29

Message par mikell »

Pas nécessairement mais on s'en fout, le seul point délicat c'est de repérer l'image dans le code-source, après elle aura le même nom à chaque étape
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
theAvenger
Niveau 5
Niveau 5
Messages : 159
Enregistré le : dim. 14 nov. 2010 15:26
Localisation : Alsace
Status : Hors ligne

Re: [..] Lire le texte d'une image

#30

Message par theAvenger »

Ce n'était pas pour un problème de repérage de l'image, mais pour éventuellement récupérer "l'adresse ip" en dur.

Peut-on savoir à quoi va servir le programme ? Les sites internet utilisent en général les images pour qu'on ne puisse pas récupérer le texte à l'aide de bot.
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 le texte d'une image

#31

Message par mikell »

'récupérer "l'adresse ip" en dur' depuis un code source, apparemment c'est pas possible, ni par le nom de l'image ni par du texte ni par une balise quelconque

Et ce qu'il essaie de fabriquer, ça s'appelle un bot de récupération d'IP :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Lire le texte d'une image

#32

Message par Tlem »

@mikell
Mazk a expliquer que ce n'est pas une IP, mais un code sous forme d'IP !
Et puis, ici, pour l'instant il n'a pas été question d'un quelconque rapport avec un jeux. :roll:

@Mazk
La meilleure solution sera de passer par la lecture de cette image et de la passer au travers d'un OCR. Pour moi, il n'y à pas d'autre choix, puisque rien n'est indiqué dans le code source de la page (d'après vos informations).

Pour un OCR qui va bien, suivez ce lien :Reconnaitre du texte affiché à l'écran
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
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 le texte d'une image

#33

Message par mikell »

Qui a parlé de jeux ? :roll:
Wikipedia a écrit :Un bot informatique ou robogiciel est un agent logiciel automatique ou semi-automatique qui interagit avec des serveurs informatiques. Un bot se connecte et interagit avec le serveur comme un programme client utilisé par un humain, d'où le terme « bot », qui est la contraction (par aphérèse) de « robot ».
On les utilise principalement pour effectuer des tâches répétitives que l'automatisation permet d'effectuer rapidement. (...)
Pour l'OCR, d'accord mais timmalos dit : "Il arrive souvent qu'on nous demande comment reconnaitre du texte affiché à l'écran quand toutes les solutions possibles ont été épuisées."
Et Mazk dit dans son 1er post :
"Pour la comparaison je me suis tourné vers ImageSearch.au3 et ImageSearch.dll, bref j'arrive à le faire fonctionner parfaitement et actuellement mon programme arrive à comparer les images et trouver quel chiffre est contenu dans cette image"
donc pourquoi ne pas essayer d'affiner cette solution ? si ça n'aboutit à rien, restera l'OCR qui est quand même une solution plus lourde
Modifié en dernier par mikell le sam. 25 juin 2011 18:18, modifié 1 fois.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Mazk
Niveau 2
Niveau 2
Messages : 20
Enregistré le : ven. 24 juin 2011 18:48
Status : Hors ligne

Re: [..] Lire le texte d'une image

#34

Message par Mazk »

Sa fais 2 jour que j'essaye de faire fonctionner Tesseract pour mon problème mais je n'y arrive vraiment pas :(

EDIT : Bon je vais d'abord essayer ce que mikell me propose ensuite si sa ne marche vraiment pas je me tournerai vraiment vers Tesseract, Mais je veux que mon programme reconnaisse "l'ip" en moins de 5secondes c'est possible avec Tesseract ou la méthode de mikell?
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 le texte d'une image

#35

Message par mikell »

T'as pas essayé ça ?
Télécharger l'image,
La lancer,
Utiliser mon script avec WinGetPos sur la fenêtre d'affichage ?

Fais les 2 premières étapes manuellement, si ça marche ça sera presque gagné
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Mazk
Niveau 2
Niveau 2
Messages : 20
Enregistré le : ven. 24 juin 2011 18:48
Status : Hors ligne

Re: [..] Lire le texte d'une image

#36

Message par Mazk »

Mikell se serait plus rapide si le prog télécharge l'image puis la met dans une nouvelle Gui crée par Koda ? Parceque je veux que en 5seconde l'ip soit à ma disposition si possible ^^'

EDIT : mikell j'ai adapté le code avec ce que tu m'a dit mais sa me met une erreur d'abord voici le code (j'ai mis en rouge ce que j'ai ajouté/modifié) :
► Afficher le texte

Quand je le lance ça me lance bien l'image et le titre est correct mais ça me met cette erreur :

Code : Tout sélectionner

>Running:(3.3.6.1):C:\Program Files\AutoIt3\autoit3.exe "C:\Users\Mazk\test.au3"    
C:\Users\Mazk\test.au3 (16) : ==> Subscript used with non-Array variable.:
$img_x = $img_pos[0]
$img_x = $img_pos^ ERROR
->19:13:34 AutoIT3.exe ended.rc:1
>Exit code: 1    Time: 1.665
 
EDIT 2 : J'ai reglé le bug (Fallait ajouter un petit Sleep après l'ouverture de l'image) sa me met aucune erreur sauf que ça ne trouve pas l'ip sa me renvoie une msgbox Vide ><
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 le texte d'une image

#37

Message par mikell »

Têtbin que j'ai fait une erreur de syntaxe... Global $chars[11] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "point"]
Mais tu sais, je connais pas la fonction Image Search donc je tatonne
tu ferais pas un petit zip avec tes images, et l'adresse de la page web ou se trouve l'image ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Lire le texte d'une image

#38

Message par jchd »

J'ai un besoin similaire (faire de l'OCR en AutoIt de façon 100% fiable) sur des images de format fixe mais de contenu variable.
Du coup j'ai développé un pseudo-OCR maison, qui n'est en fait q'un scan des lignes verticales de l'image et recherche dans une base SQLite du caractère concerné s'il a déjà été rencontré.
Il y a donc une phase d'apprentissage/stockage qui demande le concours de l'opérateur pour tout nouveau caractère (ou nouvelle fonte ou police), mais sur un jeu de caractères réduit, c'est très rapide.

Sans indiscrétion, c'est pour quel usage (répond en MP si l'usage est "gênant" à avouer... mon usage n'est pas 100% publiable non plus !).
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
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 le texte d'une image

#39

Message par mikell »

Je renonce... :cry:
La fonction _ImageSearchArea me retourne des résultats fantaisistes, et elle est très difficile sur les coordonnées de la zone à inspecter quand on veut restreindre cette zone
Mon idée était de d'abord détecter la zone "vide" au bord gauche de l'image, puis de partir de là pour rechercher dans des zones successives
Dommage, l'idée était logique et le script vraiment pas compliqué
Didiou j'y étais presque...

Code : Tout sélectionner

#include <ImageSearch.au3>

$img = @scriptdir & "\img.png"
ShellExecute($img)
Sleep(1000)
Global $chars[11] = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "."]
$x1 = 0
$y1 = 0
$ip = ""

$result = _ImageSearch("vide.png",0,$x1,$y1,0)
If $result=1 Then  
    $search_x = $x1+8
    $search_y = $y1
EndIf

For $search_x = $x1+8 To $x1+130 step 9
    For $i = 0 to UBound($chars)-1    
    Sleep(10)
    $result = _ImageSearchArea($chars[$i] & ".png", 0, $search_x, $search_y, 10, 200, $x1, $y1, 10)
    If $result=1 Then 
        $ip = $ip & $chars[$i]
        Exitloop
    EndIf
    Next
Next

MsgBox(0,"L'adresse ip", $ip)
Désolé...
Modifié en dernier par mikell le dim. 26 juin 2011 09:43, modifié 1 fois.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Mazk
Niveau 2
Niveau 2
Messages : 20
Enregistré le : ven. 24 juin 2011 18:48
Status : Hors ligne

Re: [..] Lire le texte d'une image

#40

Message par Mazk »

Je vais alors devoir me tourner vers l'OCR obligé? :s

@jchd j'ai pas compris comment tu fait ? En effet se serait pratique pour moi car il n'y a que 11 caractère que et c'est toujours la même police (0,1,2,3,4,5,6,7,8,9 et le point)
Répondre