Comment utiliser pyautogui pour les images
Nov 28 2020
Je me demandais s'il était possible de faire pyautogui.locateOnScreen()
pour un dossier complet, c'est ce que je veux dire par un dossier avec 20 images différentes et de les trouver à l'écran. Est-il possible de faire avec pyautogui
? ou bien comment feriez-vous?
C'est mon code pour l'instant:
from pyautogui import locateAllOnScreen as find
import os
import numpy as np
def try_to_find(x):
x = os.path.isfile(x)
if x == None:
Warning('No images were enterd')
else:
folder = x
value = find(folder)
if value is not None:
print(f"{x} was found!")
else:
if value is None:
print(f"{x} was not found!")
return(list(value))
myfolder = ("ImageQuery")
found = 0
with os.scandir(myfolder) as entries:
for entry in entries:
if entry.is_file():
found+=1
print(f'Items {found}: {entry.name}')
try_to_find(entry.name)
j'obtiens cette erreur si j'exécute ce code TypeError: expected an image filename, OpenCV numpy array, or PIL image
Réponses
1 AndrewStone Nov 29 2020 at 01:56
Essayez ceci:
import os
import pyautogui as py
image_list = []
# Get list of all files in current directory
directory = os.listdir()
# Find files that end with .png or .jpg and add to image_list
for file in directory:
if file.endswith('.png') or file.endswith('.jpg'):
image_list.append(file)
# Loop through list to find all the images
for image in image_list:
print(image)
print(py.locateOnScreen(image))
Cette question est similaire à une autre , j'ai posté la même réponse aux deux endroits.