MENU

【Python】PyAutoGUIのlocateOnScreen関数で探した画像の座標の中心点を取得する方法

【Python】PyAutoGUIのlocateOnScreen関数で探した画像の座標の中心点を取得する方法

PyAutoGUIは、Pythonでスクリプトを書いてコンピュータの操作を自動化するためのライブラリです。

PyAutoGUIを使うことで、次のようなことができます。

     

PyAutoGUI
  • マウスカーソルの移動
  • マウスクリック(左、右、中央)
  • マウスホイールスクロール
  • キーボード入力
  • ファイルのドラッグアンドドロップ
  • キーボードのショートカット(Ctrl + C、Ctrl + Vなど)
  • キャプチャスクリーンショット
  • 画面上の特定の画像を探す

      

PyAutoGUIを使えるようになると、RPAを実装することができます。

今回はPyAutoGUIを使って「locateOnScreen関数で探した画像の座標の中心点を取得する」方法をご紹介します。

       

目次

【Python】PyAutoGUIのlocateOnScreen関数で探した画像の座標の中心点を取得する方法

     

PyAutoGUIのlocateOnScreen()関数で探した画像の座標の中心点を取得する方法は、以下のとおりです。

     

import pyautogui as pgui

# 探す画像のパス
image_path = 'image.png'

# 画面上の画像を探す
location = pgui.locateOnScreen(image_path)
if location:
    # 画像の中心点を取得
    center_x, center_y = location[0] + location[2]/2, location[1] + location[3]/2
    print(center_x, center_y)
else:
    print('image not found')

       

このように、’top’, ‘left’, ‘width’, ‘height’を使って、中心点を計算します。

もし、locateOnScreen()関数が画像を見つけられなかった場合には、locationにはNoneが入っているので、その点に注意してください。

    

PyAutoGUIを使うことで、画面上の特定の画像の中心座標を取得することができます。これは、特定の画像をクリックする、ドラッグアンドドロップする、などのタスクを自動化する上で非常に便利です。

     

AttributeError: ‘Box’ object has no attribute ‘center’

こういうエラーが出るケースがあります。

    

AttributeError: 'Box' object has no attribute 'center'

       

このエラーは、PyAutoGUIの locateOnScreen()関数が返す値が、’Box’オブジェクトではなく、4つの数値のタプルだから発生します。

‘top’, ‘left’, ‘width’, ‘height’を返すようにします。

       

もっと効率的に勉強したい方

独学での勉強に限界を感じている方は、思い切って課金するのも手です。

udemyなら基礎的な知識を短期間でマスターすることが可能です。

      

      

僕も最初の頃は、udemyの動画で勉強しました。

講師のコードを見ながら作成できるので、成長速度が非常に早くなりました。

数千円で数十時間の節約になるので、悩んでいる方はケチらず投資していきましょう!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次