質問するログイン新規登録
PyAutoGUI

PyAutoGUIは、Windows、Mac OS、Linuxに対応した、Python用のGUI自動化ライブラリです。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

1029閲覧

PyAutoGUIのlocateCenterOnScreenでconfidenceを設定して実行したい

Azuki1205

総合スコア0

PyAutoGUI

PyAutoGUIは、Windows、Mac OS、Linuxに対応した、Python用のGUI自動化ライブラリです。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2023/03/12 15:08

編集2023/03/12 15:56

0

0

実現したいこと

  • PyAUtoGUIのlocateCenterOnScreenでconfidenceを設定したい

前提

PyAutoGUIで画像認識で,confidenceをデフォルトより低い値で設定して,画像認識の精度を向上させたい.
しかし,OpenCVはインストール済みにも関わらず実行できない.

発生している問題・エラーメッセージ

NotImplementedError Traceback (most recent call last) Cell In[3], line 3 ----> 3 locate = pg.locateCenterOnScreen(path, confidence=0.8) File c:\Users\Owner\AppData\Local\Programs\Python\Python38\lib\site-packages\pyautogui\__init__.py:175, in raisePyAutoGUIImageNotFoundException..wrapper(*args, **kwargs) 172 @functools.wraps(wrappedFunction) 173 def wrapper(*args, **kwargs): 174 try: --> 175 return wrappedFunction(*args, **kwargs) 176 except pyscreeze.ImageNotFoundException: 177 raise ImageNotFoundException File c:\Users\Owner\AppData\Local\Programs\Python\Python38\lib\site-packages\pyautogui\__init__.py:207, in locateCenterOnScreen(*args, **kwargs) 205 @raisePyAutoGUIImageNotFoundException 206 def locateCenterOnScreen(*args, **kwargs): --> 207 return pyscreeze.locateCenterOnScreen(*args, **kwargs) File c:\Users\Owner\AppData\Local\Programs\Python\Python38\lib\site-packages\pyscreeze\__init__.py:413, in locateCenterOnScreen(image, **kwargs) 409 def locateCenterOnScreen(image, **kwargs): 410 """ 411 TODO 412 """ --> 413 coords = locateOnScreen(image, **kwargs) ... --> 253 raise NotImplementedError('The confidence keyword argument is only available if OpenCV is installed.') 255 # setup all the arguments 256 if grayscale is None: NotImplementedError: The confidence keyword argument is only available if OpenCV is installed.

該当のソースコード

python

1import PySimpleGUI as sg 2locate = pg.locateCenterOnScreen(path, confidence=0.8)

試したこと

OpenCVはpip install opencv-pythonでインストール済みです.

補足情報(FW/ツールのバージョンなど)

OS : Windows 10
Python 3.8.2(64bit)
エディター VSCode(pipはターミナルから実行)
PyAutoGUI 0.9.53
opencv-python 4.5.4.58

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2023/03/12 15:20

コードの実行方法(コマンドプロンプト、Jupyterなど)について記載ください。 > Cell In[3], line 3 というエラーメッセージからJupyter上であれば Jupyterを閉じて再実行してもエラー再現するかを記載ください。
Azuki1205

2023/03/12 15:55

コードの実行方法について追記いたしました. pipでのインストール後,再起動して実行しましたが,同様のエラーが出現しました.
melian

2023/03/12 16:13

エラーが発生している pyscreeze/__init__.py には以下の様なコードがあります。numpy はインストールされていますか? try:  import cv2, numpy  useOpenCV = True  RUNNING_CV_2 = cv2.__version__[0] < '3' except ImportError:  useOpenCV = False
Azuki1205

2023/03/12 17:31

numpyはインストール済みです。(ver 1.24.2)
melian

2023/03/12 17:50

そうなりますと、pip と python のバージョンが適合していないのかもしれません。 pip -V の実行結果を教えていただけますか。
Azuki1205

2023/03/12 17:56

pip 23.0.1でした。
melian

2023/03/12 18:07

その後に表示されている、対応している Python のバージョンを教えていただけますか。
Azuki1205

2023/03/12 18:10

お手数おかけしてしまい,申し訳ございません. 出力の全文です. pip 23.0.1 from c:\users\(中略)\pip (python 3.8)
jbpb0

2023/03/12 20:46

> NotImplementedError: The confidence keyword argument is only available if OpenCV is installed. となる状態で、下記のpythonコードは、エラーが出ずに正常に実行可能でしょうか? import cv2 import numpy
Azuki1205

2023/03/12 22:39

実行したところ,cv2のインポートに失敗しました. ImportError Traceback (most recent call last) Cell In[4], line 2 1 import numpy ----> 2 import cv2 ImportError: DLL load failed while importing cv2: %1 は有効な Win32 アプリケーションではありません。
jbpb0

2023/03/12 23:12

> cv2のインポートに失敗 が > NotImplementedError: The confidence keyword argument is only available if OpenCV is installed. の原因でしょうね
Azuki1205

2023/03/14 09:23

パスが通ってないかと思って,環境変数にパスを追加しましたが,相変わらず同様のエラーが出現しました. もしご存じでしたら対処法についてお教えいただけないでしょうか?
jbpb0

2023/03/16 07:42

もし、pythonの「sys.path」を自分で設定してたら、元に戻してください (何もしてないデフォルトの状態に戻す) もし、「PYTHON」が付く環境変数を設定してたら、削除してください (「PYTHONPATH」とか「PYTHONHOME」とか) 上記のどちらかでも該当したら、設定を変えてパソコンを再起動させてから、どうなるのか試してみてください
jbpb0

2023/03/16 07:47

私の一つ前のコメントに書いたことが、どちらも該当しないか、該当するけど設定を変えても直らない場合は、下記を見てください (必ずこれよりも先に、一つ前のコメントに書いたことをやってください) おそらく、 c:\Users\Owner\AppData\Local\Programs\Python\Python38\lib\site-packages に「cv2」というディレクトリがあると思います もしあれば、そこに「cv2.pyd」というファイルがあるか、確認してください 「cv2.pyd」があれば、それが32, 64bitのどちら用なのかを、確認してみてください https://pslabo.hatenablog.com/entry/2018/11/10/184109 また、「import cv2」がうまくいかないpythonで、下記を実行して、pythonが32, 64bitのどちら用なのかを、確認してみてください import platform print(platform.architecture()) pythonと「cv2.pyd」のbit(32か64か)は、一致してますでしょうか?
jbpb0

2023/03/16 08:04

私の二つ前と一つ前のコメントに書いたことをやっても直らない場合は、下記を見てください (必ずこれよりも先に、二つ前と一つ前のコメントに書いたことをやってください) 「cv2.pyd」が依存してるdllを調べて、それに不足が無いか確認してみてください https://hourouneko.hateblo.jp/entry/2022/10/12/113642 https://note.com/1in9mu/n/ndaf4f15b247d
Azuki1205

2023/03/18 16:02

ありがとうございます. 環境変数にPYTHONがあったため,削除・再起動後,実行しましたが,同様のimport errorが出現しました. cv2.pydを確認したところ,64bit用であり,pythonも64bit用で対応していました.
jbpb0

2023/03/20 13:53

> cv2.pydを確認したところ,64bit用であり,pythonも64bit用で対応していました. それでしたら、私の一つ前のコメントに挙げたwebページを参照して、「cv2.pyd」が依存してるdllを調べて、それに不足が無いか確認してみてください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問