スクショして座標把握

Python
外部ライブラリのインストール
pip install opencv-pythonpip install matplotlibpip install Pillowpip install pyautogui
pg.py
import cv2from matplotlib import pyplotimport numpyimport pyautogui
#ゲーム画面の領域を把握するx,y = pyautogui.position()print(“x座標は”, x)print(“y座標は”, y)
#スクリーンショットを撮る#データ型を8bitの符号なし整数型にして、2次元配列をつくる#2次元配列を画像にする#画像を表示するscreenshot = pyautogui.screenshot(region=(0,0,1900,1020))array = numpy.array(screenshot,’uint8’)pyplot.imshow(array, vmin=0, vmax=255)pyplot.show()
#画像を読み込んでRGB化するred = cv2.imread(‘red.png’)red = cv2.cvtColor(red, cv2.COLOR_BGR2RGB)
#類似度からx座標,y座標を求めるmatch = cv2.matchTemplate(sample,red,cv2.TM_CCOEFF_NORMED)coordinate = numpy.array(numpy.where(match>=0.97)).T[:, ::-1]print(coordinate)
#クリックしたい座標を相対座標から絶対座標に変えるcoordinate[:, 0] += (0,0,1900,1020)[0]coordinate[:, 1] += (0,0,1900,1020)[1]
#クリックするfor x,y in coordinate: print(‘(x, y)=({}, {})’.format(x, y)) pyautogui.click(x, y)

###やっていること###

スクショを撮って、red.pngに該当する箇所をクリックする

###redの高さと幅を求める###

height, width = red.shape[:2]

###エラー###

ファイル名をpyautogui.pyとすると

「’pyautogui’ has no attribute ‘screenshot’」

というエラーが発生するのでリネームすること

類似度を0.97にして上手くいかない場合は0.98や0.99で試すこと

###引用文献###

https://vigne-cla.com/14-31
BACK