★悩み★
・SikuliXが画像の左端をクリックする。中央をクリックするようにできる?
・SikuliXが誤った画像を認識する。画像認識の精度を上げられない?
・クリックする画像のオフセットと認識精度を調整できる?
こういった「悩み」に答えます。
★本記事の内容★
① SikuliXのクリック時(click)に利用する画像設定
➁ 準備:SikuliXのインストールと起動
③ SikuliXでクリック(click)時のオフセット(offset)を設定
④ SikuliXでクリック(click)時の画像認識精度(similar)を設定
これからご紹介する「SikuliXでクリック(click)のオフセット(offset)と認識精度を設定」を実践したことで、5分以内で「SikuliXで自動化した操作の精度」を高めることができました(下の動画参照)。
記事の前半では「SikuliXのインストールや起動といった環境の準備」を解説します。
記事の後半では「SikuliXのクリック(click)時に指定した画像のオフセット(offset)と認識精度を調整する方法」を紹介します。
この記事を読み終えることで、「SikuliXで画像を用いた操作の精度」を向上できる状態になります。
★SikuliXとは★
SikuliX(シクリ)とは、画像認識を用いたGUI操作自動化ツールです。簡単な操作で「エクセル入力の自動化」などに利用できます。「検索ボックスに検索ワードを入力して検索ボタンを押す」などの操作を自動化できます。
さらに詳しく知りたい方には、以下の記事がオススメです。
>> 【要点解説】SikuliXとは?を解消!3ステップで入門する方法を解説
ちなみに、筆者が2週間でSikuliXを学んだ方法や手順について以下で公開しています。皆様の学習の参考になれば嬉しいです。
>> SikuliXに0から入門し操作を自動化するまでのロードマップを公開中
SikuliXのクリック時(click)に利用する画像設定
「SikuliXのクリック時(click)に利用する画像設定」に関してご紹介します。
★SikuliXでクリック(click)操作を自動化★
・SikuliXで自動化できるクリック(click)操作について
・クリック(click)したい画像のオフセット(offset)を設定とは?
・クリック(click)したい画像の認識精度を設定とは?
以降で、上記「SikuliXでクリック(click)操作を自動化」の各項目に関してご説明します。
SikuliXで自動化できるクリック(click)操作について
「SikuliXで自動化できるクリック(click)操作について」説明します。
SikuliXを使うことで、自動化できるクリック操作(click)をご紹介しますね。
SikuliXを使うことで、マウスのクリック操作を自動化できます。
SikuliXでマウス操作を自動化する手順を知りたい方には、以下の記事がオススメです。
>> SikuliXでマウスのクリックや移動操作を自動化
以上が、「SikuliXで自動化できるクリック(click)操作について」となります。
クリック(click)したい画像のオフセット(offset)を設定とは?
「クリック(click)したい画像のオフセット(offset)を設定とは?」に関して説明します。
「SikuliXにおけるオフセット(offset)とは?」から「使うべき場面」に関して簡単に解説しますね。
SikuliXにおける「クリック(click)時のオフセット(offset)」とは、以下になります。
★SikuliXでのオフセット(offset)とは★
ITの分野では、何かの位置を指し示す際に、基準となる位置からの差(距離、ズレ、相対位置)を表す値のことをオフセットということが多い。(出展:IT用語辞典)
SikuliXでは、指定した画像のクリック(click)位置を補正できます。
「位置の補正」をSikuliXでは、「オフセット(offset)」と呼びます。
オフセット(offset)を使用するべき場面としては、以下があります。
★SikuliXでクリック(click)時のオフセット(offset)を使用するべき場面★
クリック箇所を変更したい場合にオフセット(offset)を調整しましょう。
例えば、「アイコンの右端ではなく、アイコンの中心をクリックするようにしたい」などです。
以上が、「クリック(click)したい画像のオフセット(offset)を設定とは?」となります。
クリック(click)したい画像の認識精度を設定とは?
「クリック(click)したい画像の認識精度を設定とは?」に関して説明します。
「SikuliXにおける認識精度とは?」から「使うべき場面」に関して簡単に解説しますね。
SikuliXにおける「認識精度」とは、以下になります。
★認識精度とは★
SikuliXでは、画像の認識精度を調整できます。
認識精度を高くすることで、「似た画像を区別」できます。
「認識精度」を調整するべき場面としては、以下があります。
★SikuliXでクリック(click)時の認識精度を調整するべき場面★
誤った画像を認識してしまうことが増えた場合に、認識精度を調整しましょう。
認識精度を高くすることで、画像の誤認識を抑止できます。
以上が、「クリック(click)したい画像の認識精度を設定とは?」となります。
SikuliXでは、「オフセット(offset)」や「認識精度」といった画像操作に対する細かい調整ができます。
準備:SikuliXのインストールと起動
「準備:SikuliXのインストールと起動」に関してご紹介します。
★SikuliXでオフセット(offset)と認識精度を調整するための準備手順★
手順1:SikuliXをインストール
手順2:SikuliXの起動
上記の流れで、「SikuliXで画像のオフセット(offset)と認識精度を調整するための環境準備」ができます。
上記の各手順は、以下の日時で動作確認済みです。
動作確認済み日時:2022年5月19日
以降で、上記「SikuliXでオフセット(offset)と認識精度を調整するための準備手順」の各手順に関してご説明します。
手順1:SikuliXをインストール
「手順1:SikuliXをインストール」に関して説明します。
お使いのパソコンにSikuliXをインストールしましょう。
「SikuliXをWindowsにインストールする手順」に関しては、以下の記事をご覧ください。
>> 【Windows向け】SikuliXのインストール手順と基本的な使い方
「macOS(Mac)にインストールする手順」に関しては、以下の記事をご覧ください。
>> 【Mac向け】SikuliXのインストール手順と基本的な使い方
以上が、「手順1:SikuliXをインストール」となります。
手順2:SikuliXの起動
「手順2:SikuliXの起動」に関して説明します。
インストールしたSikuliXを起動し、「オフセット(offset)と認識精度を使ったプログラム」を記載できる状態にしましょう。
「WindowsにインストールしたSikuliXを起動する手順」に関しては、以下の記事をご覧ください。
>> 【Windows向け】SikuliXのインストール手順と基本的な使い方
「macOS(Mac)にインストールしたSikuliXを起動する手順」に関しては、以下の記事をご覧ください。
>> 【Mac向け】SikuliXのインストール手順と基本的な使い方
以上が、「手順2:SikuliXの起動」となります。
Javaをインストールし、SikuliXのjarファイルをダウンロードすることで、簡単にSikuliXの環境を準備できます。
以降で、オフセット(offset)と認識精度を設定する方法に関して解説します。
SikuliXでクリック(click)時のオフセット(offset)を設定
「SikuliXでクリック(click)時のオフセット(offset)を設定」に関してご紹介します。
★SikuliXでクリック(click)時のオフセット(offset)を設定★
① クリック(click)時のオフセット(offset)を設定する方法
➁ クリック(click)時のオフセット(offset)を使ったプログラムを作成
SikuliXの「オフセット(offset)」を使うことで、画像のクリック(click)箇所を調整できます。
上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年5月4日
動作確認済み環境:macOS Catalina
以降で、上記「SikuliXでクリック(click)時のオフセット(offset)を設定」の各項目に関してご説明します。
クリック(click)時のオフセット(offset)を設定する方法
「クリック(click)時のオフセット(offset)を設定する方法」に関して説明します。
SikuliXでオフセット(offset)を設定する方法を図を用いて解説しますね。
起動したSikuliX上において、「スクリーンショットを撮る」(下図の赤枠)を押し、SikuliXでクリック(click)したい箇所を撮影しましょう。
続いて、オフセット(offset)を設定するために、撮影した画像を押しましょう(下図の赤枠)。
下図のような「パターン設定」の画面が表示された後に、オフセット(offset)を調整するために、「ターゲットオフセット」(下図の赤枠)を押してください。
「ターゲットオフセット」内に表示された画像内(下図の緑枠)で、SikuliXでクリックしたい箇所を押してください。
その後、「ターゲットオフセットの値」(下図の赤枠)が変更されていることを確認し、「OK」(下図の緑枠)を押しましょう。
最後に、「オフセット(offset)を設定した画像」(下図の緑枠)の上に「赤文字のプラス」が表示されている場合、「オフセット(offset)を調整できた」と判断できます。
以上が、「クリック(click)時のオフセット(offset)を設定する方法」となります。
クリック(click)時のオフセット(offset)を使ったプログラムを作成
「クリック(click)時のオフセット(offset)を使ったプログラムを作成」に関して説明します。
SikuliXでクリック(click)時のオフセット(offset)を使ったプログラムを作成してみましょう。
起動したSikuliX上において、「スクリーンショットを撮る」を押し、「Safariのアイコン」を撮影しましょう。
その後、「クリック(click)時のオフセット(offset)を設定する方法」で紹介した手順をもとに、オフセット(offset)を調整してください。
その後、以下のプログラムを作成してください。
doubleClick(Pattern("1651672628928.png").targetOffset(75,14))
sleep(5)
print "Safariをクリック(click)しました。"
上記で使った関数を詳しく知りたい方は、以下の記事をご覧ください。
・doubleClick()について
>> SikuliXでマウスのクリックや移動操作を自動化
・sleep()について
>> SikuliXでよく使うコマンドの一覧
プログラム作成後、SikuliX上の「実行」ボタンを押します。
そうすること後、下のデモ動画のように、SikuliXでオフセット(offset)を使った自動化を実現できます。
以上が、「クリック(click)時のオフセット(offset)を使ったプログラムを作成」となります。
SikuliXのクリック(click)時に「画像のオフセット(offset)」を設定することで、クリックしたい箇所を調整できます。
SikuliXでクリック(click)時の画像認識精度(similar)を設定
「SikuliXでクリック(click)時の画像認識精度(similar)を設定」関してご紹介します。
★SikuliXでクリック(click)時の画像認識精度(similar)を設定★
① 画像認識精度(similar)を設定する方法
➁ 画像認識精度(similar)を使ったプログラムを作成
SikuliXの「画像認識精度(similar)」を調整することで、「似た画像を区別」できるようになります。
上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年5月19日
動作確認済み環境:Windows 11 pro
以降で、上記「SikuliXでクリック(click)時の画像認識精度(similar)を設定」の各項目に関してご説明します。
画像認識精度(similar)を設定する方法
「画像認識精度(similar)を設定する方法」に関して説明します。
SikuliXでクリック(click)時の画像認識精度(similar)を設定する方法を図を用いて解説しますね。
「クリック(click)時のオフセット(offset)を設定する方法」でご紹介した手順をもとに、「パターン設定」の画面を表示しましょう。
その後、画像認識精度(similar)を設定するために、「パターン設定」画面の「マッチングプレビュー」(下図の赤枠)を押してください。
「マッチングプレビュー」画面内にある「スクロールバー」(下図の赤枠)を左に動かすことで、認識精度を低くできます。
低くしたことにより、下図のように「薄い青色部分」を誤認識するようになりました。
ちなみに、濃い赤色部分が「最も一致率が高い部分」となります。
また、「マッチングプレビュー」画面内にある「スクロールバー」(下図の赤枠)を右に動かすことで、認識精度を高くできます。
スクロールバーを左右に動かし、誤認識がなくなるように調整をしましょう。
その後、「マッチングプレビュー」画面内の下部にある「OK」ボタンを押してください。
最後に、「認識精度(similar)を設定した画像」(下図の緑枠)の上に「数字」が表示されている場合、「認識精度(similar)を調整できた」と判断できます。
以上が、「画像認識精度(similar)を設定する方法」となります。
画像認識精度(similar)を使ったプログラムを作成
「画像認識精度(similar)を使ったプログラムを作成」に関して説明します。
SikuliXでクリック(click)時の画像認識精度(similar)を使ったプログラムを作成してみましょう。
起動したSikuliX上において、「スクリーンショットを撮る」を押し、「ごみ箱のアイコン」の画像を撮影しましょう。
その後、「クリック(click)時の画像認識精度(similar)を設定する方法」で紹介した手順をもとに、画像認識精度(similar)を調整してください。
その後、以下のプログラムを作成します。
doubleClick(Pattern("1652936504935.png").similar(0.91).targetOffset(-1,-17))
print "画像認識精度(similar)を調整した上で、ごみ箱をダブルクリックできました。"
上記で使った関数を詳しく知りたい方は、以下の記事をご覧ください。
・doubleClick()について
>> SikuliXでマウスのクリックや移動操作を自動化
プログラム作成後、SikuliX上の「実行」ボタンを押します。
そうすることで、下のデモ動画のように、SikuliXでクリック(click)時の画像認識精度(similar)を使った自動化を実現できます。
以上が、「クリック(click)時の画像認識精度(similar)を使ったプログラムを作成」となります。
SikuliXの「画像の認識精度(similar)」を調整することで、クリック時(click)の誤認識率を低くできます。
今回紹介したオフセットや認識精度を設定しても誤認識が発生する場合は、SikuliXの機能の1つであるRegionを使うことで誤認識率をさらに下げられます。詳しくは以下の記事をご覧ください。
>> SikuliXの「Regionとは」から「使い方」まで解説
ちなみに、「SikuliXをシステムで利用する場合の注意点」や「SikuliXでAndroidを操作する方法」などを知りたい方には、以下の記事で紹介している本がオススメです。
>> 【入門者向け】SikuliXの勉強に役に立つオススメ書籍3冊
【まとめ】SikuliXでクリック(click)のオフセット(offset)と認識精度を設定
いかがでしたでしょうか?
SikuliXの「オフセット(offset)」と「画像認識精度(similar)」を使ったプログラムとデモ動画を解説し、以下の悩みを解決しました。
★悩み★
・SikuliXが画像の左端をクリックする。中央をクリックするようにできる?
・SikuliXが誤った画像を認識する。画像認識の精度を上げられない?
・クリックする画像のオフセットと認識精度を調整できる?
SikuliXで自動化した「画像を用いた操作」の誤動作が多くなった場合、「画像のオフセット(offset)」や「画像の認識精度」の調整を検討してみてください。
コメント