前提・実現したいこと
プログラミング初心者です。
Python3.7.3において、PyAutoGuiモジュールを用いて作業の自動化プログラムを作っています。
画像を認識してクリックするだけのコードを書き、これ自体は問題なく動いたのですが
発展的なものを作ろうとpipでopencv_pythonをインストールした所、先程まで動いていた
プログラムが動作しなくなりました。
該当のソースコード
import pyautogui as pya
x, y = pya.locateCenterOnScreen(r'D:\自作絵\oC6preset\画像認識用\アクティブ.bmp', grayscale=True)
pya.click(x-20, y)
###エラーメッセージ
Traceback (most recent call last):
File "test22.py", line 3, in <module>
x, y = pya.locateCenterOnScreen(r'D:\自作絵\oC6preset\画像認識用\アクティブ.bmp', grayscale=True)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pyscreeze_init_.py", line 318, in locateCenterOnScreen
coords = locateOnScreen(image, **kwargs)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pyscreeze_init_.py", line 286, in locateOnScreen
retVal = locate(image, screenshotIm, **kwargs)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pyscreeze_init_.py", line 267, in locate
points = tuple(locateAll(needleImage, haystackImage, **kwargs))
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pyscreeze_init_.py", line 132, in _locateAll_opencv
needleImage = load_cv2(needleImage, grayscale)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pyscreeze_init.py", line 101, in _load_cv2
"unsupported or invalid format" % img)
OSError: Failed to read D:\自作絵\oC6preset\画像認識用
\アクティブ.bmp because file is missing, has improper
permissions, or is an unsupported or invalid format
試したこと
opencvを入れた途端にエラーが出るようになり、opencvをアンインストールすると
また正常に動作(任意の場所をクリック)するようになります。
エラーメッセージによるとファイルが見つからないかフォーマットが対応していないと
言っているようですが、opencvを入れる前までは見つけられたファイルが見つからなくなる
のはよくわかりませんし、使用する画像の拡張子を.jpgや.pngに変えても意味が
ありませんでした。
なぜこういった事が発生するのか理解できなかったため、ご教示いただけると幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/22 13:37