PyAutoGuiの"locateOnScreen"でのエラーを解決したい。
解決したいこと
PyAutoGuiの"locateOnScreen"で画像を読み込みたい。
発生している問題・エラー
[ WARN:0@2.570] global D:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp (239) cv::findDecoder imread_('test.png'): can't open/read file: check file path/integrity
Traceback (most recent call last):
File "test.py", line 6, in <module>
p = pyautogui.locateOnScreen("test.png")
File "C:\Users\xxxxx\Anaconda3\lib\site-packages\pyautogui\__init__.py", line 175, in wrapper
return wrappedFunction(*args, **kwargs)
File "C:\Users\xxxxx\Anaconda3\lib\site-packages\pyautogui\__init__.py", line 213, in locateOnScreen
return pyscreeze.locateOnScreen(*args, **kwargs)
File "C:\Users\xxxxx\Anaconda3\lib\site-packages\pyscreeze\__init__.py", line 373, in locateOnScreen
retVal = locate(image, screenshotIm, **kwargs)
File "C:\Users\xxxxx\Anaconda3\lib\site-packages\pyscreeze\__init__.py", line 353, in locate
points = tuple(locateAll(needleImage, haystackImage, **kwargs))
File "C:\Users\xxxxx\Anaconda3\lib\site-packages\pyscreeze\__init__.py", line 207, in _locateAll_opencv
needleImage = _load_cv2(needleImage, grayscale)
File "C:\Users\xxxxx\Anaconda3\lib\site-packages\pyscreeze\__init__.py", line 170, in _load_cv2
raise IOError("Failed to read %s because file is missing, "
OSError: Failed to read test.png because file is missing, has improper permissions, or is an unsupported or invalid format
最後のエラー文(下記)から想定するに、パーミッションが原因でしょうか?
OSError: Failed to read test.png because file is missing, has improper permissions, or is an unsupported or invalid format
該当するソースコード
import pyautogui
p = pyautogui.locateOnScreen("test.png")
※同じディレクトリに「test.png」というファイルが置かれている状況です。
自分で試したこと
cv2による画像読み込みは成功しています。
import cv2
p = cv2.imread('test.png')
print(p)
↓出力結果
[[[36 33 32]
[36 33 32]
[36 33 32]
...略...
また、パスを相対パスではなく、絶対パスで試してみても同じエラーが表示されました。
何か分かる方がいらしたらご教授ください。
0