pythonで作るタイピングチート(中級編)OCR

1まずはゲーム画面でスクリーンショットを取る

2ペイント(Windowsはデフォルトで入ってます)を開いて、ツールバーから□を選んで文字を囲います(座標を調べるのに使用)

3座標がわかれば以下のプログラムコード

sc=pyautogui.screenshot(region=(470,690,580,40))

regionの部分にあてはめます。

(□の左上x座標、□の左上y座標、□の右上x座標ー□の左上x座標、□の右下y座標ー□の左上y座標)

下準備完了

ここからはpythonとOCRの設定を

予めインストールが必要なもの

・pyautogui

・pyocr

・PIL

コントロールパネルから環境変数を選択し、OCR のpathを追加しておいてください。

OCRのインストール参考にURLを↓

写真みたいにやります。

環境変数を設定→

Pathを選択

新規からOCRのパスを貼り付ける。

これでエラーは消えると思います。

以下

自動で打ち込むpythonコード

from time import sleep
import pyautogui
import pyocr
import pyocr.builders
from PIL import Image
import cv2

tool = pyocr.get_available_tools()[0]
sleep(5)

from time import time
start = time()

pyautogui.click(540,780)

while time() - start < 65.0:

    fname = "sample_image.png"
    #引数の座標に注意
    sc=pyautogui.screenshot(region=525,775,480,40)
    sc.save(fname)
    g = Image.open(fname)
    text = tool.image_to_string(g, lang='eng', builder=pyocr.builders.TextBuilder())
    for i in range(len(text)):
        pyautogui.typewrite(text[i])

    

tool = pyocr.get_available_tools()[0]

↑環境変数をいじらない場合はここでエラーが起きると思います(笑)。

感想

じぶんがやっていたとき、はじめはOCRの設定回りでエラーを出していた気がします。文字認識からの自動入力はロマンがあります個人的に。

次はもっと制度もスピードも挙げていこうと思います。

上のプログラムで自分のゲームではSランク(最高ランク)をとれるのでぜひやってみてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です