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
chercher image suite a une capture d une zone
chercher image suite a une capture d une zone
- Attachments
-
- forum.ascr
- (12.39 KiB) Downloaded 74 times
Re: chercher image suite a une capture d une zone
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)
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
mais est ce possible .?
comment faire pour faire un code similaire avec par exemple greenshot ?
comment faire pour faire un code similaire avec par exemple greenshot ?
Re: chercher image suite a une capture d une zone
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 :
Traduit avec www.DeepL.com/Translator (version gratuite)
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')
Re: chercher image suite a une capture d une zone
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.
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
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?
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
Bonjour,
Dans votre script, il y a : 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) :.
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 :
Dans votre script, il y a : 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;