Cómo usar pyautogui para imágenes
Nov 28 2020
Me preguntaba si era posible hacer pyautogui.locateOnScreen()
una carpeta completa, esto es lo que quiero decir con una carpeta con 20 imágenes diferentes y encontrarlas en la pantalla. ¿Es posible hacer con pyautogui
? o si no, ¿cómo lo harías?
Este es mi código hasta ahora:
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)
obtengo este error si ejecuto este código TypeError: expected an image filename, OpenCV numpy array, or PIL image
Respuestas
1 AndrewStone Nov 29 2020 at 01:56
Probar esto:
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))
Esta pregunta es similar a otro uno , he publicado la misma respuesta en ambos lugares.