WinActorEyeの使い方④「矩形の検出、論理演算」
こんにちは、NTTデータ WinActor技術支援チームのM.Sです。
いつもユーザーフォーラムをご利用いただき、ありがとうございます。
今回は、WinActorEyeの使い方シリーズ④です!
WinActorEyeはV6.3から追加された機能ですが、
使ったことがない、どういった機能なのか分からない、といった方も多いのではないでしょうか?
私もリリースされた当初は使ってみよう!と意気込んでいましたが、結局あまり使いこなせていないままでした・・・
このコラムを通して、みなさんも一緒にWinActorEyeを使ってみていただけたら嬉しいです♪
初めて読む方は、ぜひ「WinActorEyeの使い方①」からご覧ください!
フィルタ機能
WinActorEyeの機能の1つであるフィルタ機能は2つに分類されます
①マッチング(ヒストグラム探索・矩形の検出)
②絞り込み・変換(論理演算・選択アルゴリズム・矩形から座標を取得)
「マッチング」で該当の画像を探し出すことができ、
「絞り込み・変換」でマッチングで取得した複数のリソースを絞ったり、他リソースに変換することができます。
今回は、前回までのコラムで作成したマクロとシナリオを使って、「矩形の検出」と「論理演算」を紹介したいと思います!
矩形の検出とは
キャプチャ画像の中に四角形が存在するか探す機能です。
ボタンなど、マッチング対象が四角形の場合に適しています。
論理演算とは
フィルタ機能によって出力された画像リソースの共通領域または全領域を取得する機能です。
ヒストグラム探索や矩形の検出で出力された白黒の画像リソースを入力とし、
共通する白い領域、または2つの画像に存在する白い領域を全て取得します。
それでは、実際に使ってみましょう!
前回作成したファイルをコピーして、同じものをそのまま使用していきます!
※シナリオファイル名のみ、分かりやすいように変更してあります
(「WinActorEye(矩形から座標を抽出).ums6」⇒「WinActorEye(矩形の検出・論理演算).ums6」)
①まず最初に、WinActorEyeを開き、表示タブから以下のウィンドウを表示しておきます。
・「WinActorEyeマクロ編集」
・「画像リソース」
・「矩形リソース」
・「座標リソース」
②「チュートリアル.html」を開き、マクロ「ヒストグラム探索.json」を試しに実行してみましょう。
※前回のコラムで作成した「矩形から座標を抽出.json」ではなく、前々回作成したマクロなので注意です!
シナリオファイルは前回作成したものをコピーして使用します。
ヒストグラム探索に成功しましたね!
③それでは、今回のテーマの1つ「矩形の検出」を使っていきます。
WinActorEyeマクロ編集画面の、「記録」にチェックを付けます。
④WinActorEyeメイン画面のフィルタタブから「矩形の検出」を表示します。
下のキャプチャのように設定し、実行します。
ポイントは「輪郭構成点の最大値」をデフォルト値から「400」に変更することです!
WinActorEyeメイン画面を確認すると、白い部分が沢山表示され、矩形リソース画面には「矩形の検出」が追加されました。
真ん中にある中くらいの大きさの四角形が「登録ボタン」だと分かります。
試しに、「輪郭構成点」が「5000」の状態で実行してみると、、、
このように、真ん中に大きな四角形が2つ検出されていまい、「登録ボタン」の四角形が埋もれてしまいました。
「輪郭構成点」を変えることで、検出したい矩形の大きさや形状を調整できることが分かりますね!
⑤次に、WinActorEyeメイン画面のフィルタタブから「論理演算」を表示します。
下のキャプチャのように設定し、実行します。
WinActorEyeメイン画面を確認すると、白い部分が「登録ボタン」の四角形のみに絞り込みされています。
矩形リソース画面にも、論理演算のリソースが追加されていました。
つまり、先程「矩形の検出」で表示された複数の四角形の中から、
「ヒストグラム探索」で探した登録ボタンの位置と被っているもののみに絞り込んだということです!
⑥次に、前回のコラム「WinActorEyeの使い方③」の復習になりますが、
WinActorEyeメイン画面のフィルタタブから「矩形から座標を抽出」を表示し、下のキャプチャのように設定して実行します。
WinActorEyeメイン画面の白い部分に赤い○が表示され、座標リソース画面には「論理演算」の座標リソースが追加されました。
⑦WinActorEyeマクロ編集画面を確認すると、
矩形の検出と論理演算、座標情報を取得する操作が追加で記録されているので、マクロの完成です!
「保存」を押下し、シナリオファイルと同じフォルダに「矩形の検出・論理演算」という名前で保存します。
⑧次に、シナリオを作成していきます。
前回作成したシナリオの「Eye:マクロ読込み実行」のマクロファイル名を、先程作成したマクロ名に変更します。
⑨最後に、WinActorEyeのライブラリ「座標情報取得」を開き、座標リソース名を「論理演算」に変更したらシナリオの完成です!
実行する
それでは、シナリオを実行してみましょう!
登録ボタンがクリックされましたね!
ヒストグラム探索で探した登録ボタンと、
矩形の検出で探した登録ボタンの共通する情報を論理演算で算出し、その座標を取得してクリックすることができました。
まとめ
今回は、前回までで作成した「ヒストグラム探索」や「矩形から座標を抽出」の処理に加えて、
「矩形の検出」と「論理演算」の処理を作成してみました!
色々な機能を組み合わせて使用することで、マッチングの精度を上げることができます。
やはり設定が多くて大変な部分はありますが、
既存の画像マッチングよりも優れている部分がちゃんとあるので、試してみる価値はあると思います!
今回で、WinActorEyeのコラムは最終回です!
実際にWinActorEyeを使用されている方や、今回のシリーズを読んで使用してみた!という方は、ぜひ感想などコメントしてください♪
WinActorEyeの情報共有の場にしていただければと思います。
シリーズで読んでくださった方々、ありがとうございました!
おわりに
この記事が面白かった、参考になったと思っていただけたら、ぜひ「いいね!」ボタンを押してください。
コメントもお待ちしています。
それでは、また次回!
※「いいね」はユーザーフォーラムに会員登録済みの方がログインしているときに押下できます。
ユーザーフォーラムの会員登録はメールアドレスがあればどなたでも無料で登録できます。
会員登録すると、質問への回答が見れたり、共有シナリオや事例集のダウンロードといった特典があります!