

Autoitは、UWSC以上に賢いと思います。それにUWSCのサイト閉鎖されたようです。jpg,Bmp,Pngいろいろな画像を探しクリックしてくれます。かなり正確に探してくれます。

Autoitは、Basic言語のようなスクリプトで、IE・Chromeなどのブラウザ,Excel・LibreOfficeなどの表計算,オンラインゲームなどを自動で動かせるようにできます。
Autoitがあるサイト:
_ImageSearch関数使うためにすること
:_英語サイトですが、途中にダウンロードのリンクがあります。

ImageSearch.au3
ImageSearchDLL.dll
この2つのファイルが必要です。
スクリプトのヘッド部分(先頭)に:
#include "ImageSearch.au3"
そして、上記2つの必要ファイルはスクリプトと同じフォルダに入れてください。(一番簡単)
関数の使い方(引数)
_ImageSearch(“画像ファイル名”, 0(左上)or1(真中), $x, $y, 許容値)
左上or真中:0または1 取得する座標の位置の違いです。
$x $yには画像が見つかったとき、座標が入ります。
許容値:探す画像少し違っても探し出すかです。(よく理解できません)
_ImageSearch(‘twitter.png’,1,$x, $y,0) 0~256を試す
関数の最後のパラメータの値を変化させ、色々実験してみます。
0 _ImageSearch(‘twitter.png’,1,$x, $y,0)


inputBoxでパラメータを設定してます。目的の画像に移動してます。
探してる画像はこれです。
twitterのアイコン画像です。
255 _ImageSearch(‘twitter.png’,1,$x, $y,255)
似たものを探してしまいます。画面のはじから探し始めます

左上から探し始めるので、ゴミ箱横に行ったと思われます。
100 _ImageSearch(‘twitter.png’,1,$x, $y,100)
別の違うところ,似たようなところ
左上から探すようなので、似た画像がある場合は範囲を指定し確率をあげます。

サンプル:Google Sheet のセルに色を塗る
Google sheetのツールバーアイコンを画像認識しています。

セルの背景色を黄色に変えます。「s」押すだけであとは自動です。
色パレットのアイコン探し、中から黄色の画像探しクリックしてます。

#include "ImageSearch.au3" HotKeySet("s", "checkForImage") global $y = 0, $x = 0 Func checkForImage() Local $search = _ImageSearch('color.png',1,$x, $y,0) If $search = 1 Then MouseClick("left",$x, $y, 1,50) EndIf Local $search = _ImageSearch('yellow.png',1,$x, $y,0) If $search = 1 Then MouseClick("left",$x, $y, 1,50) EndIf EndFunc while 1 sleep(200) WEnd
_ImageSearch(‘color.png’,1,$x, $y,0) ;// 最後の「0」大きくすると曖昧?
0~255
検索する画像を簡単に作る

Raptureというフリーソフトを使うと簡単に、画像を切り取り検索用に利用できます。
アイコンをクリックし起動したら、切り取りたい部分を指定するだけです。
サンプル:計算機のボタンを押す

命令文:
_ImageSearch(‘2.bmp’,1,$x, $y,100) ; PC全画面の中から「2」を探してます。
#include "ImageSearch.au3"
HotKeySet("p", "checkForImage")
global $y = 0, $x = 0
Func checkForImage()
Local $search = _ImageSearch('2.bmp',1,$x, $y,100)
If $search = 1 Then
MouseClick("left",$x, $y)
EndIf
EndFunc
while 1
sleep(200)
WEnd
PC全画面の中から「2」を探しているので、多少時間がかかります。
どこにその画像が現れるかわかるなら、範囲を指定すれば見つけるのも早くなります。
_ImageSearchArea($findImage,$resultPosition,$x1,$y1,$right,$bottom,ByRef $x, ByRef $y, $tolerance)
サンプル windowsアイコンに移動
上記2つのファイルをスクリプトと同じところに入れます
パスの設定とか面倒なので、最初は同じところに入れてください。
サンプルコード
#include "ImageSearch.au3"
HotKeySet("p", "checkForImage")
global $y = 0, $x = 0
Func checkForImage()
Local $search = _ImageSearch('win-start.png',1,$x, $y,100)
If $search = 1 Then
MouseMove($x, $y, 10)
EndIf
EndFunc
while 1
sleep(200)
WEnd
ホットキー(ショートカットキー)として「p」を指定しています。
Pキーを押すとWindowsーstartボタンにマウス動きます。

画像はPNGで、私は保存しています。
XYの座標を取得することできます
$result =_ImageSearch(‘画像ファイル名’,画像のどこ(左上または中心),X座標, Y座標,100)
$resultには画像があれば「1」

コメント