【第38回】ロータス博士のWinActor塾~画像マッチングⅠ
あれ?
博士、画像マッチングって以前やりませんでしたっけ。
うむ、よく覚えておるな。
だいぶ前にやった内容ではあるが、今回はver7リニューアル編なのじゃ!
おお、なるほど!それはいいですね!
一体どこが変わったんですか!?
まあまあ焦るでない。
今後ver6の記事はver7に順次リニューアルしていく予定じゃ。よろしく頼むぞ!
それでは本編スタートじゃ!
画像マッチングとは
画像マッチングは、指定したウィンドウに対して指定した画像でのマッチングを行い、その結果を取得します。
マッチングが成立した場合、その箇所に対してマウスクリックなどの操作を行うことが可能です。
画像マッチングはウィンドウ内のGUI要素として認識されない部分で使用するのが一般的です。
また、あるタイミングでのウィンドウの画像・表示の変化を検知するためにも利用できます。
画像マッチングは何にでも使える超便利な機能じゃ。
基本的なマッチングだけならすぐできるようになるが
せっかくじゃから何回かに分けて詳しく説明していくとしよう。
今回はプロパティの見かたについてじゃ。項目が多いので気合を入れていこう!
画像マッチングノードの配置
ノード一覧の「アクション」カテゴリからドラッグ&ドロップで配置します。
ノード > アクション > 画像マッチング
プロパティの表示
画像マッチングノードを配置できたら、ダブルクリックでプロパティを開きましょう。
下記の画面が表示されればOKです。
画像マッチングのプロパティ(画像指定エリア)
画像マッチングのプロパティ画面の設定項目について説明します。
まずは画面全体の名称と、どのような設定を行うエリアかについて示します。
No. | 名称 | 説明 |
❶ | 名前 | 名前を設定できます。フローチャート上の表示名です。 |
❷ | コメント | コメントを設定できます。シナリオ作成時のメモ欄です。 |
❸ | 画像指定エリア | マッチングを行う画像を指定するエリアです。 |
❹ | 条件指定エリア | 画像マッチングの条件を設定します。 |
続いて、マッチング画像タブ(上図❸のエリア)について詳細を示します。
No. | 名称 | 説明 |
❶ | 赤枠 |
マッチング画像の指定範囲です。画像マッチングは、赤枠で指定した範囲の画像で実行されます。 赤枠は必須の設定項目です。ただし、実行時にマッチング画像を取得する場合は設定不要です。 |
❷ | 緑枠 | 検索範囲の指定を行うことができます。画像マッチング実行時に、緑枠で囲まれた範囲に対してマッチング画像の検索が行われます。緑枠の設定を省略すると、画面全体を検索範囲とします。 |
❸ | 十字 |
マッチング画像からの相対位置でマウスの操作を行う場所を指定します。 指定が無い場合は、赤枠の中心がマウスの操作位置になります。 |
❹ | マッチング画像 | このアイコンをクリックした後、キャプチャ画像上でマウス左クリックしながらドラッグ操作をすると、赤枠の範囲を設定することができます。 |
❺ | 検索範囲 | このアイコンをクリックした後、キャプチャ画像上でマウス左クリックしながらドラッグ操作をすると、緑枠の範囲を設定することができます。範囲指定をキャンセルするときは、キャプチャ画像上で左クリックします。 |
❻ | マウス操作位置 | このアイコンをクリックした後、キャプチャ画像上でマウス左クリックをすると、十字の位置を指定することができます。十字の設定をキャンセルするときは、キャプチャ画像上で左クリックします。 |
❼ | マスク範囲(内側) | キャプチャ画像をマスクするときに使います。このアイコンをクリックした後、キャプチャ画像上でマウス左クリックしながらドラッグ操作をすると、指定した範囲の内側が黒く塗りつぶされます。間違って塗りつぶしてしまった場合はプロパティ画面下部にある「元に戻す」ボタンで編集を破棄してください。 |
❽ | マスク範囲(外側) | キャプチャ画像をマスクするときに使います。このアイコンをクリックした後、キャプチャ画像上でマウス左クリックしながらドラッグ操作をすると、指定した範囲の外側が黒く塗りつぶされます。間違って塗りつぶしてしまった場合はプロパティ画面下部にある「元に戻す」ボタンで編集を破棄してください。 |
❾ | キャプチャ画像選択ボタン | キャプチャ画像を外部の画像ファイルから読み込んで利用する場合に使います。 |
❿ | マッチング画像タブ | マッチングを行う画像を表示します。 |
⓫ | マウス操作位置タブ | マウス操作位置を表示します。 |
ん!?
キャプチャ画像の右下に博士映ってませんか!?
お、ばれたか。せっかくじゃから入っておこうと思ってな。
どうじゃ、良く撮れておるかな?
お、ばれたか。じゃないですよ!
博士、ニュースの生中継で後ろに映り込んでピースとかしちゃうタイプでしょ絶対!
これでシナリオがおかしくなったらどうするんですか!
そんな怒らんでも・・・。さすがのわしでもそんなことせんよ。
実はキャプチャ画像で赤枠以外の部分はマッチングに影響しないんじゃ。
つまりこの場合はRoTASのロゴの部分さえあれば問題ないということじゃな。
あ、そうなんですか・・・。
赤枠以外の映像はマッチングに影響ないのは勉強になりましたけど・・・。
なんか腑に落ちないなあ。
マウス操作位置タブは、上図の⓫ボタンをクリックすることで表示が切り替わります。
マッチング画像に戻す場合は❿ボタンをクリックしてください。
このタブはマウス操作位置の確認を行うためのものです。このタブ上で特別な設定を行うことはありません。
No. | 名称 | 説明 |
❶ | マウス操作位置表示エリア |
マッチング画像タブの赤枠で指定した範囲のマッチング画像と マウスの操作位置の関係を表示します。 |
次の項目は、マッチングに使用する画像をキャプチャしたり
照合を行う対象とするウィンドウを指定する際に使用します。
No. | 名称 | 説明 |
❶ | イメージ画像 |
対象のイメージ画像をリストの中から選択します。 または、ターゲット選択ボタンをクリックしてアプリケーションウィンドウを指定することで画像をキャプチャできます。 |
❷ | 取得タイミング |
イメージ画像をターゲット選択ボタンからキャプチャする際に、キャプチャまでのタイマーを「即時」「3秒後」「10秒後」「30秒後」から指定できます。対象ウィンドウのポップアップメニュー等を表示した状態でキャプチャしたい場合などに使用します。 |
❸ | ウィンドウ識別名 |
マッチングの操作対象となるウィンドウをリストの中から選択します。 または、ターゲット選択ボタンをクリックしてアプリケーションウィンドウを指定します。 |
画像マッチングのプロパティ(条件指定エリア)
条件指定エリアでは、マッチング精度やマウス位置の詳細、アクションの設定など
マッチングに関する様々な条件を指定します。
マッチング画像選択エリア
No. | 名称 | 説明 |
❶ | 実行時にマッチング画像を取得 |
マッチング画像を外部の画像ファイルから選択するときに使います。 画像マッチング実行時に、ここで指定した画像と類似する画像を探し操作を行います。 |
❷ | マッチング画像ファイル |
画像データを絶対パス、またはシナリオファイルからの相対パスで指定します。 変数を指定することも可能です。 |
❸ | マッチング画像選択ボタン |
マッチング画像選択ダイアログを開きます。 ダイアログで選択した画像ファイルが画像マッチング時に使用されます。 |
分割マッチング選択エリア
No. | 名称 | 説明 |
❶ | メモリ節約のために分割マッチングを行う |
キャプチャ画像を分割して画像マッチングするときに使います。 この機能は、キャプチャ画像のサイズがHD(1024x768)以上の場合に適用されます。HD未満の画像サイズでは分割マッチングは実行されません。 |
検索範囲の指定方法
No. | 名称 | 説明 |
❶ | 原点 |
検索範囲の座標の起点を「左上」「左下」「右上」「右下」から選択できます。 |
❷ | X方向 |
検索範囲のX軸位置の単位を「座標」か「%」で指定します。 |
❸ | Y方向 |
検索範囲のY軸位置の単位を「座標」か「%」で指定します。 |
実行動作の指定方法
No. | 名称 | 説明 |
❶ | 縮尺率 |
マッチング時の画像の縮尺率を「1x」「1/2」「1/4」から選択できます。 画像を縮小することでマッチングの速度が向上しますが、精度を犠牲としますので必要に応じて「マッチ率」を下げて調整してください。 |
❷ | マッチ率 |
1%~100%の間の整数で指定できます。100%を指定した場合、赤枠で設定した画像と全く同じ画像を探します。マッチ率を下げることで若干の誤差を許容しますが、マッチ率を下げすぎると類似した別の画像もマッチ判定となるため注意して調整してください。 |
❸ | タイムアウト |
タイムアウト時間を設定します。マッチング対象のウィンドウが表示されるまでの時間がここで設定した時間を超過した場合、「❹アクション」で「状態チェック」が選択されていたら、falseを返しシナリオを続行。それ以外の場合はアクション例外となります。 指定する時間の単位はミリ秒です。0~3,600,000まで指定できます。 |
❹ | アクション |
画像マッチング後に行う操作を指定します。 「状態チェック」「左ボタンクリック」「右ボタンクリック」「左ボタンダブルクリック」「右ボタンダブルクリック」「マウス移動のみ」「左ボタントリプルクリック」「右ボタントリプルクリック」「左クリックし、マッチング箇所までドラッグ」「右クリックし、マッチング箇所までドラッグ」の10種類から選択できます。 |
❺ | 情報取得結果 |
ここに指定された変数の中にマッチング結果を格納します。マッチに成功すると「true」失敗した場合は「false」を格納します。 |
❻ | 操作位置 |
十字(マウス操作位置)を、X・Y座標で指定します。画像指定エリアでマウス位置を指定すると自動的に入力されます。操作位置を指定しない(空欄)場合、操作位置はマッチング画像の中央となります。 マッチング画像が指定されている場合、マッチング画像中央からの相対座標となりますが、マッチング画像が指定されていない場合は左上の原点(0,0)とした座標を指定します。 |
さて、プロパティ設定を一気に見てみたが覚えられたかな?
ハイ!全然覚えられませんでした!
なんでそんな堂々としておるんじゃ・・・。
まぁしかしこれだけ項目が多いとすぐに覚えるのは難しい。
次回は実際にマッチングの仕方を教えていくぞ!使いながら覚えていくのじゃ!
関連記事こちらの記事も合わせてどうぞ。
2024.11.05
【第105回】ロータス博士のWinActor塾~新しい画像マッチング画面
2024.09.27
【第104回】ロータス博士のWinActor塾~ガイド利用シナリオ(作成編)
2024.09.10