22

こんにちは、NTTデータ WinActor技術支援チームのYMです。

いつもユーザーフォーラムをご利用いただき、ありがとうございます。
マイナーなライブラリの紹介シリーズ 、今回は「色判定」を取り上げます。

ライブラリの概要

「色判定」は、指定画面上の指定位置の色を取得するライブラリです。
画面上の位置をx座標、y座標で指定し、その箇所の色をRGB 値で取得することができます。

RGB値とは「赤」「緑」「青」から構成される色の表現方法です。プログラミングでは、「赤」「緑」「青」のそれぞれの度合い(弱い→強い)を0→255の範囲で設定し、16進数2桁で表す方法がよく使われます。

実際に使ってみる

それでは早速使ってみましょう。
Winactor.comのTOP画面、「アーカイブ配信中」というブルーの吹き出しの色を取得します。

まず、画面上で該当の位置情報を取得します。

・ノード「画像マッチング」で、色情報を取得したい箇所を青十字(+)で指定する
・ライブラリ「画像マッチング箇所の取得」でマッチング位置に変数「マッチング位置」を設定する
(この段階でマッチング位置には「660,562」という座標が取得されます)

次に取得した位置情報から色情報を取得します。

・ライブラリ「色判定」を配置
 プロパティ画面でウィンドウ識別名を選択し、位置:マッチング位置、色:色情報 とする
・待機ボックスで色情報を表示する

実行すると、待機ボックスに「4783e3」という色情報が表示されました。

色情報が正しいかどうかは、RGB値を検索、変換するサイトなどで確かめることができます。

下記はサイトの一例ですが、先ほど待機ボックスに表示された「4783e3」を検索覧に入力して検索すると、winactor.comの画面の吹き出しと同様の色が表示されました!

実際に使ってみた感想

今回は簡単な例で設定方法などをご説明しましたが、どんなシーンでこのライブラリが使えるか考えてみました。

例えば、処理が終わると画面の色が微妙に変わるといったケースがあるとします。
画像マッチングでは類似色がマッチングされてしまう恐れがありますが、このライブラリを使って色番号を取得し、その番号が一致しているかを判断して次の処理に移る、といったシナリオにしておけばより正確な操作ができそうです。

他にも(かなりレアケースかもしれませんが)、画像の色が青なら待機、黄色なら処理Aに進む、赤なら処理Bに進むといった操作を行いたい場合、色番号を取得して多分岐を使えば、すっきりしたシナリオになりそうです。

気になる点としては、画像マッチングと併用することで、サイトの変更などに左右されやすく、エラーが起きたり正しい値が取得できなくなる恐れもあるだろうということ。

また細かい部分や色がグラデーションになっている箇所などは、位置指定が難しいのではないかと思いました。

なお、同じグループのライブラリに「直前画像マッチング箇所の色判定」もあります。
こちらは、このライブラリ1つで直前に画像マッチングした箇所の色情報を取得できます。

ライブラリ「色判定」や「直前画像マッチング箇所の色判定」を、こんな場面で使った、という経験談などありましたら、ぜひコメントしてくださいね。

お待ちしています♪

この記事が面白かった、参考になったと思っていただけたら、「いいね!」ボタンを押してください。
それでは、また次回!

※「いいね」はユーザーフォーラムに会員登録済みの方がログインしているときに押下できます。
ユーザーフォーラムの会員登録はメールアドレスがあればどなたでも無料で登録できます。
会員登録すると、質問への回答が見れたり、共有シナリオや事例集のダウンロードといった特典があります!

WA技術支援チーム 質問の編集
回答とコメントは、会員登録(無料)で閲覧できるようになります。