【第27回】ロータス博士のWinActor塾~OCRマッチング
OCRマッチングとは
最近よく聞くOCRとはそもそも何じゃろうか。
OCRにはこんな意味があるのじゃ。
Optical Character Reader/Recognition の略で、画像データのテキスト部分を認識し
デジタルの文字データに変換する光学文字認識技術のことを言います。
イメージスキャナやデジタルカメラによって紙媒体から文字を読み取り、
コンピュータが利用できるデジタルの文字コードに変換して利用します。
WinActorのOCRマッチングは、デジタル文字ではないものを文字として認識する技術を搭載したマッチングとなります。
画像マッチングと似たような操作で、直感的に使用できます。
取り込んだ画面の画像データから文字を認識し、ユーザが指定した文字列とマッチングする位置に対して
クリック等の操作を実行する機能になります。また、マッチしたかどうかの判定を取得することも可能です。
ひとつ注意しておくが、OCRマッチングはどんな文字でも100%読み取れるわけではない。
使用する際は何度もテストをして、マッチングされるかどうかを試すことが大切じゃ。
筆跡鑑定があるくらいですから、文字の形は人それぞれ違うということですね。
どんなに優秀なロボットでも完璧に判別するのは難しいでしょうね。
OCRマッチングの機能
OCRマッチングはノード一覧から、ドラッグアンドドロップで配置して使用します。
ノード > アクション > OCRマッチング
OCRマッチングのプロパティ画面です。
ここでマッチングに関する詳細な設定を行い、判定の取得やマッチング対象への操作を実行します。
❶ | 名前 | 名前を設定できます。フローチャート上の表示名です。 |
❷ | コメント | コメントを設定できます。シナリオ作成時のメモ欄です。 |
❸ | 画像指定エリア | マッチングを行う画像を指定するエリアです。 |
❹ | 条件指定エリア | OCRマッチングの条件を設定します。 |
❶ | 緑枠 |
検索範囲を指定します。OCRマッチング実行時は、緑枠で指定された範囲内に限って、 マッチング文字列を探します。緑枠は任意の設定項目です。 指定が無い場合は対象アプリケーションの画面全体が検索範囲になります。 |
❷ | 赤枠 | 「テスト実行」でマッチング文字列と一致した箇所が赤枠で表示されます。 |
❸ | 十字 |
マウスの操作を行う位置を、赤枠の中心からの相対位置で指定します。 十字は任意の設定項目です。指定が無い場合はマッチング文字列と一致した箇所の中心が マウスの操作位置となります。 |
❹ | 検索範囲 |
「検索範囲」アイコンをクリックした後、キャプチャ画像上でドラッグ操作を行うことにより 緑枠の範囲を指定することができます。範囲指定をキャンセルするときは キャプチャ画像上で左クリックします。 |
❺ | マウス操作位置 |
赤枠を表示させた後に「マウス操作位置」アイコンをクリックして、 さらにキャプチャ画像上をクリックすることにより、マウス操作位置を示す十字の位置を 指定することができます。十字の設定をキャンセルするときは、十字の上で左クリックします。 |
❻ | キャプチャ画像選択 | キャプチャ画像を画像ファイルから選択するときに使います。 |
マッチング対象の設定
マッチング対象の指定には、画像指定エリアの「イメージ画像」「ウィンドウ識別名」の設定項目で行います。
画像マッチングやエミュレーションなどと同様の操作で、ターゲット選択ボタンをクリックしてウィンドウを選択し、対象を指定します。
❶ | イメージ画像 |
対象のイメージ画像をリストの中から選択します。 または、ターゲット選択ボタンをクリックして、 対象となるアプリケーションウィンドウを指定します。 |
❷ | 取得タイミング |
「イメージ画像」のターゲット選択ボタンで、 対象となるアプリケーションウィンドウを指定した際のキャプチャ取得までの時間を 「即時」「3秒後」「10秒後」「30秒後」から指定します。 即時以外の項目は、対象ウィンドウにマウスを乗せたときにしか表示されないものなどを キャプチャしたいといった場合などに使用します。 |
❸ | ウィンドウ識別名 |
対象のウィンドウをリストの中から選択します。 または、ターゲット選択ボタンをクリックして、 対象となるアプリケーションウィンドウを指定します。 |
操作対象の画像とウィンドウを別々にするケースはほぼないじゃろう。
リソース削減の高等テクニックとして別にすることも無くはないが、
イメージ画像とウィンドウ識別名で指定するウィンドウは基本的に同じもので大丈夫じゃ。
テスト実行
OCRマッチングにはテスト実行ができる機能が備わっています。
マッチング判定が正常に行われるかどうかは、画像によって異なるため何度も試す必要が出てきますが
このテスト機能があれば、シナリオを実行せずにマッチの成否がわかります。
❶ | マッチング文字列 |
検索する文字列を指定します。 変数で指定する場合、文字列を格納した「変数名」を選択します。 値の文字数制限はデフォルトで1024文字までです。 ※シナリオ情報の「変数値の文字数を制限する」のチェックを外すことで文字数制限を解除することができます。 |
❷ | テスト実行 |
イメージ画像内でマッチング文字列を検索します。 マッチング文字列と一致した場合は、該当箇所を赤枠で表示します。 一致しなかった場合はエラーメッセージを表示します。 |
❸ | クリア |
テスト実行で文字列が一致した場合に表示される赤枠をクリアします。 また、マウス操作位置の十字をクリアし、マウス操作位置の指定をキャンセルします。 |
では実際にやってみよう。まずメモ帳を開いて適当な文字を入れるのじゃ。
そして「イメージ画像」と「ウィンドウ識別名」のそれぞれのターゲットボタンからメモ帳を選択して
「マッチング文字列」にメモ帳と同じ文字を設定してみよう。
え、なんですかこの文字列。
ちょっとやだなあ。
嫌とはなんじゃ…。
これが成功したらワシのかっこよさも認められるということじゃ!
これそういう機能じゃないですよ博士!
どうじゃ!成功じゃ!
博士がカッコイイかどうかはおいといて、漢字までしっかりマッチしてますね!
これはすごい機能です!よーし、僕も試してみますよ!
・・・
なぜ・・・
いや、字汚すぎじゃろ・・・
手書き文字は認識率が低いため推奨できません。OCRマッチングを使用する際はテストをしっかりと行いましょう。
関連記事こちらの記事も合わせてどうぞ。
2024.11.05
【第105回】ロータス博士のWinActor塾~新しい画像マッチング画面
2024.09.27
【第104回】ロータス博士のWinActor塾~ガイド利用シナリオ(作成編)
2024.09.10