Reconocimiento de imágenes basado en Python

Reconocimiento de imágenes basado en Python

1. Toma una captura de pantalla

Controlamos el funcionamiento del mouse y no se puede realizar a ciegas, por lo que necesitamos monitorear el contenido en la pantalla para decidir si realizar la operación correspondiente.pyautogui proporciona un método de captura de pantalla () que puede devolver un objeto de imagen de Pillow;

Hay tres funciones de uso común:

im = pyautogui.screenshot(): Devuelve la captura de pantalla de la pantalla, que es un objeto de imagen Pillow
im.getpixel((500, 500)): devuelve el color del píxel en (500, 500) en el objeto im, que es una tupla RGB
pyautogui.pixelMatchesColor(500,500,(12,120,400)): es una función de contraste y la comparación está en la pantalla (500, 500) ¿Es el color del píxel en este punto el mismo que el del elemento dado?

im = pyautogui.screenshot()
im.save('屏幕截图.png')

Guarde la captura de pantalla;

2. Reconocer la imagen

Primero, necesitamos obtener una captura de pantalla. Por ejemplo, si queremos dar me gusta, primero guardamos la imagen del pulgar; luego usamos la función: localizarOnScreen ('zan.png'), si se puede encontrar la imagen, devuelva la ubicación de la imagen , Por ejemplo: Cuadro (izquierda = 25, superior = 703, ancho = 22, alto = 22); si no se puede encontrar la imagen, devuelve Ninguno;
si hay varias imágenes en la pantalla que pueden coincidir, debe usar LocateAllOnScreen ('zan .png '), si coinciden varios valores, se devuelve una lista, como sigue:

import pyautogui
pyautogui.PAUSE = 1

# 图像识别(一个)
btm = pyautogui.locateOnScreen('zan.png')
print(btm)  # Box(left=1280, top=344, width=22, height=22)

# 图像识别(多个)
btm = pyautogui.locateAllOnScreen('zan.png')
print(list(btm))  # [Box(left=1280, top=344, width=22, height=22), Box(left=25, top=594, width=22, height=22)]

pyautogui.center((left, top, width, height)) Devuelve el punto central de la posición especificada; de esta manera, podemos hacer clic con el mouse para encontrar el centro de la imagen;

3. Programa de Me gusta automático

Necesitamos dar me gusta a todos los artículos. Una vez que los me gusta en esta página hayan terminado, mueva el mouse para que me gusten todos los artículos recién cargados;

Inserte la descripción de la imagen aquí
el código se muestra a continuación:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author:Zhang Kai 

import pyautogui
import time


def zan():
    time.sleep(0.5)    # 等待 0.5 秒
    left, top, width, height = pyautogui.locateOnScreen('zan.png')   # 寻找 点赞图片;
    center = pyautogui.center((left, top, width, height))    # 寻找 图片的中心
    pyautogui.click(center)    # 点击
    print('点赞成功!')


while True:
    if pyautogui.locateOnScreen('zan.png'):
        zan()   # 调用点赞函数
    else:
        pyautogui.scroll(-500)    # 本页没有图片后,滚动鼠标;
        print('没有找到目标,屏幕下滚~')

Después de ejecutarlos, les gustará uno por uno:
Inserte la descripción de la imagen aquí
La entrada en Pycharm es la siguiente:
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_47139649/article/details/109266602
Recomendado
Clasificación