質問編集履歴

1

前提条件、実現したいことの記載について、わかりにくい記載を見直しました。

2022/05/02 09:07

投稿

H.K2
H.K2

スコア88

test CHANGED
@@ -1 +1 @@
1
- pyautoGUIで行う画像認識部分の処理の実行速度を上げたい
1
+ pyautoGUIで行う画像認識部分の処理の実行速度を上げたい(もしくは画像認識とキー押下の処理を特定時間内で終わるように時間短縮したい)
test CHANGED
@@ -4,7 +4,7 @@
4
4
  https://teratail.com/questions/rociee892e3sb6#reply-urv3i6kbut33d0
5
5
 
6
6
  ### 実現したいこと
7
-
7
+ 下記の①~④の処理のループを2秒以内で回したいです。
8
8
  ①矢印の認識を行う(現状、1.2秒~1.3秒かかる)
9
9
  →②pyautoGUIで、ウェイトをかけながら、認識した矢印に対応するキーボードを押下する
10
10
  (各キー押下ごとに0.1秒くらいないと誤操作するので、time.sleepを入れています。)
@@ -12,6 +12,8 @@
12
12
  (画面切り替えの関係で0.5秒くらい待たないと、適切なリストが取得できません)
13
13
  →最初に戻る
14
14
  ④①に戻る
15
+ 現状は、pyautoGUIの処理(locateAllOnScreen)で画像認識を行っていますが、
16
+ 一つの矢印について複数点(近い部分)が認識されるため、矢印の大きさ(大体30px~50px程度)以内の近さのものは同じ点として省くようにしています。
15
17
 
16
18
  ### 発生している問題・エラーメッセージ
17
19
  ①~④までの処理は、取得する矢印キーの個数で勿論変わるのですが、矢印は最大9位出ること、
@@ -19,6 +21,9 @@
19
21
  目的が達成できないことになっています。
20
22
  そのため、①の画像認識速度を上げたいのですが、どのようにすれば速度向上ができるのか
21
23
  が分からないため、困っております。
24
+ 上記の、複数点の間引きをpandasで行っている(それしか実装できなかった)ため、
25
+ このあたりにネックがあるようにも思うのですが、一方で並列処理などで①の矢印認識と②、③のキー押下処理をうまく管理するなどの手法が使えないかとも思い、
26
+ 質問させていただきました。
22
27
 
23
28
  ### 該当のソースコード
24
29