Cara menggunakan pyautogui untuk gambar

Nov 28 2020

Saya bertanya-tanya apakah mungkin dilakukan pyautogui.locateOnScreen()untuk folder penuh, inilah yang saya maksud folder dengan 20 gambar berbeda dan menemukannya di layar. Apakah mungkin ada hubungannya dengan pyautogui? atau bagaimana Anda melakukannya?

Ini adalah kode saya sejauh ini:

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)

            

saya mendapatkan kesalahan ini jika saya menjalankan kode ini TypeError: expected an image filename, OpenCV numpy array, or PIL image

Jawaban

1 AndrewStone Nov 29 2020 at 01:56

Coba ini:

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))

Pertanyaan ini mirip dengan yang lain satu , saya posting jawaban yang sama di kedua tempat.