次のような画像ファイルリストがあります。
imgs = ['aaa.png', 'bbb.png', 'ccc.png']
これらの画像を用いて、画面の特定の部分がこの画像リストの内、いずれかとマッチするかどうか?
を調べたいと思います。
しかしながら、locateOnScreen関数は、私の認識が間違っていなければ1回のスクリーンショットに対し1枚の画像でしかサーチできないはずです。
ですから、下のようにfor文で回した場合、合計3回のスクリーンショットを撮ることになり、効率が悪い上に場合によってはそれらは全く同じスクリーンショットではないかもしれません。
import pyautogui for i in imgs: if pyautogui.locateOnScreen(i, region=(0,0,100,100)): print('マッチ:{}'.format(i))
そして、pyautogui.locateOnScreenにリストを渡してもエラーになります。
OSError: Failed to read aaa.png because file is missing, has improper permissions, or is an unsupported or invalid format
もし、1回のスクリーンショットに対し複数の画像ファイルからサーチする方法がありましたら教えて下さい。
pyautogui以外のライブラリでも受け付けます。
また、pyautogui.locateOnScreenで生成されるスクリーンショットはローカルに一時ファイルなどで保存されていない状態ですか?メモリ上に保存されているのでしょうか?それを閲覧する方法はありますか?
あなたの回答
tips
プレビュー