Pythonに基づく画像認識

Pythonに基づく画像認識

1.スクリーンショットを撮る

マウスの操作を制御し、盲目的に実行することはできないため、画面のコンテンツを監視して、対応する操作を実行するかどうかを決定する必要があります。pyautoguiは、Pillowイメージオブジェクトを返すことができるメソッドscreenshot()を提供します。

一般的に使用される機能は3つあります。

im = pyautogui.screenshot():ピロー画像オブジェクトである画面のスクリーンショットを返します:
im.getpixel((500, 500))RGBタプルであるimオブジェクトの(500、500)のピクセルの色を返します
pyautogui.pixelMatchesColor(500,500,(12,120,400))コントラスト関数であり、コントラストは画面上にあります(500、500)この時点でのピクセルの色は、指定された要素と同じですか。

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

スクリーンショットを保存します。

2.画像​​を認識します

まず、スクリーンショットを取得する必要があります。たとえば、気に入った場合は、最初に親指の画像を保存し、次に関数locateOnScreen( 'zan.png')を使用します。画像が見つかった場合は、画像の場所を返します。 、例:Box(left = 25、top = 703、width = 22、height = 22);画像が見つからない場合は、Noneを返します。
画面上に一致する画像が複数ある場合は、locateAllOnScreen( 'zan)を使用する必要があります。 .png ')、複数の値が一致した場合、次のようにリストが返されます:

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)) 指定した位置の中心点を返します。このようにして、マウスでクリックして画像の中心を見つけることができます。

3.オートライクプログラム

すべての記事を高く評価する必要があります。このページの「いいね」が完了したら、マウスをスクロールして、新しく読み込まれたすべての記事を高く評価します。

ここに写真の説明を挿入
コードは次のように表示されます。

#!/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('没有找到目标,屏幕下滚~')

実行後、それらは1つずつ
ここに写真の説明を挿入
高く評価されます。Pycharmの入力は次のとおりです。
ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_47139649/article/details/109266602