Page 1 of 1
chercher image suite a une capture d une zone
Posted: 01 Feb 2022, 02:45
by gaby2007
bonsoir
j ai fait ce scripte mais je ne comprends pas pkoi il ne fonctionne pas
l idée est de faire une capture d écran d une zone définie par un rectangle
et ensuite faire une recherche d image dans une image qui sera la capture d écran assimilée a une variable
est ce possible ou est ce que j ai fait une erreur?
merci
Re: chercher image suite a une capture d une zone
Posted: 01 Feb 2022, 16:46
by eureka
J'ai regardé votre script car je suis en train de créer un script similaire pour le traitement par lots des images.
Un point que j'ai repéré ...
Le lien de l'image est
C:/Users/Christophe/Desktop/actionaz/BIBLIOTHEQUE IMAGES SERVANT POUR ACTIONAZ/nego/CHIIFRE SEUL/100%/1 1.jpg
et ceci a un espace dans le nom de l'image "1 1.jpg" et aussi dans les noms des dossiers.
En règle générale, il ne faut pas utiliser d'espace dans le chemin d'accès au fichier. En fait, vous pouvez placer l'image dans des ressources afin qu'elle soit accessible en tant que ressource locale.
Si vous devez utiliser des espaces, définissez le chemin de l'image entre guillemets. Vous pouvez également lancer un script Python pour accéder à l'image.
L'approche que j'utilise est de lancer un outil externe Flameshot pour automatiser la capture d'image en utilisant la ligne de commande. Mais Flameshot ne fonctionne que sur Linux et vous avez Windows.
Voici des alternatives.
https://alternativeto.net/software/flameshot/
Choisissez-en une et automatisez cet outil depuis Actiona.
Traduit avec
www.DeepL.com/Translator (version gratuite)
Re: chercher image suite a une capture d une zone
Posted: 01 Feb 2022, 18:05
by gaby2007
mais est ce possible .?
comment faire pour faire un code similaire avec par exemple greenshot ?
Re: chercher image suite a une capture d une zone
Posted: 01 Feb 2022, 22:15
by eureka
Oui, c'est possible. Mais il devient plus difficile d'écrire un script multiplateforme (pour Windows et Linux).
Je peux obtenir des résultats en utilisant Flameshot (sous Linux) mais comme je ne peux pas installer et tester Greenshot, j'ai fait quelques lectures et il a des options de ligne de commande.
Aussi ici :
https://getgreenshot.org/2013/01/28/how ... lications/
"Alors comment fonctionne le plugin de commande externe de Greenshot ?
C'est simple... Faites un clic droit sur l'icône Greenshot systray et cliquez sur "Configurer les commandes externes".
(Si ce n'est pas là, vous utilisez une ancienne version de Greenshot ou vous n'avez pas choisi d'installer le plugin de commande externe pendant le processus d'installation. Dans les deux cas, vous devez télécharger la dernière version de l'installateur de Greenshot et l'installer. Lorsque le programme d'installation demande quels sont les plugins à installer, assurez-vous de cocher la case à côté de "External Command Plugin", et procédez à l'installation.)"
Cette discussion fait référence à la version 2.0
https://superuser.com/questions/1396439 ... e-like-sni
Mais comme je préfère une approche multiplateforme, j'ai commencé à lire ici :
https://github.com/asweigart/pyautogui
Cet exemple de base capture des captures d'écran :
Code: Select all
#!/usr/bin/env python3
"""
https://github.com/asweigart/pyautogui
"""
import pyautogui
im1 = pyautogui.screenshot()
im1.save('mon_écran.png')
im2 = pyautogui.screenshot('ma_capture_d'écran2.png')
Traduit avec
www.DeepL.com/Translator (version gratuite)
Re: chercher image suite a une capture d une zone
Posted: 02 Feb 2022, 00:04
by eureka
Note ajoutée :
En cherchant un outil de régionalisation d'image multiplateforme, j'ai trouvé ksnip.
https://github.com/ksnip/ksnip/releases
Je vais commencer à expérimenter avec cela via la ligne de commande. Les actions peuvent être définies avec des hot keys. ksnip semble prometteur.
Re: chercher image suite a une capture d une zone
Posted: 02 Feb 2022, 00:59
by gaby2007
mais juste une question bete
la variable var screenShot_partie= screenShot.copy(new Rect(x1,y1,x2,y2)); pourquoioi on ne peut pas la recuperer ?
c est bien une image ?
lorsque actiona utilise la capture d ecran cela marche
donc pkoi cela ne marche pas avec screnshot_partie?
Re: chercher image suite a une capture d une zone
Posted: 02 Feb 2022, 08:50
by francois
Bonjour,
Dans votre script, il y a :

- extrait_img.gif (3.01 KiB) Viewed 4465 times
Dans cette zone, Actiona attend le
nom d'un fichier
Mais vous indiquez le
nom d'un objet 'Image' que vous avez créé dans l'action précédente ( via du code) :
Code: Select all
var screenShot_partie= screenShot.copy(new Rect(x1,y1,x2,y2));
.
Pour utiliser l'objet
screenShot_partie il faut faire la recherche d'image via du code ( cela n'est pas prévu avec l'action image.)
Par ailleurs, les paramètres du rectangle sont (x1,y1, largeur, hauteur) et pas (x1,y1,x2,y2)
En pièce jointe un script exemple où il y a 2 images identiques et le script trouve la bonne grâce au rectangle.
Avant une 1ere utilisation :
- ouvrir a.htm
- refaire l'image 'image_a_trouver.jpg' pour l'adapter à votre résolution d'écran.
- paramétrer dans la 1ere action :
Code: Select all
repp= "C:/temp/ZZ";
img_a_trouver= repp + "/" + "image_a_trouver.jpg";
// où chercher dans l'écran
x0= 1204;
y0= 264;
largeur=200;
hauteur=200;