イメージベース プロパティ
このセクションでは、プリプロセス フィルターと類似度について説明します。これらの適用方法については、⇢ 高度なイメージベース テスト を参照してください。
Downsize
ダウンサイジングとは、画像の縮尺を小さくすることです。ベクター グラフィックスの場合、品質を損なうことはありません。しかし、ラスター グラフィックス (スクリーンショットなど) では、ダウンサイジングは画素数を減らすことを意味し、品質が損なわれます。
Downsize フィルターの目的は、画像の特徴を残しつつサイズを小さくすることです。これにより、表面的な違いがテストの失敗の原因になる可能性が低くなり、また、検索して比較する必要のあるピクセル数が少なくて済むため、テストの実行が速くなります。
The same image in three different scales (www.wikipedia.com)
Edges
エッジ検出は、イメージ内のオブジェクトの境界を見つけるための画像処理技術です。これは、輝度の不連続性を検出することによっておこなわれます。
Edges フィルターは、イメージの情報量を減らし、テスト実行を速くします。また、色や輝度の変化に対して、イメージ認識をより堅牢なものにします。
Example image without and with Edges filter (www.wikipedia.com)
EdgesSobel
EdgesSobel フィルターは、エッジを強調したイメージを生成します。Edges フィルターに似ており、色や輝度の変化に対して、イメージ認識をより堅牢なものにします。
Example image without and with EdgesSobel filter (www.wikipedia.com)
Grayscale
Grayscale フィルターは、色や輝度の情報を減らし、グレースケール 256 階調で表現します。色の変化に対して、イメージ認識をより堅牢なものにします。
Grayscaling process (www.wikipedia.com)
Threshold
しきい値処理は、画像を分類するもっとも単純な方法です。画像の強度が、ある一定の定数よりも小さい場合は黒ピクセルに、大きい場合は白ピクセルに、画像の各ピクセルを置き換えます。グレースケール画像から 2 値画像を作成するために、しきい値処理を使用することができます。右下の画像の例では、 暗い木はほぼ完全に黒く、 白い雪はほぼ完全に白になります。
Threshold フィルターは、色や輝度の変化に対して、イメージ認識をより堅牢なものにします。
Example image without and with filter (www.wikipedia.com)
Similarity
Similarity プロパティは、比較画像と実画像が一致していると Ranorex Studio が判断するための類似度を制御します。類似度の値は、0.0 から 1.0 の間で調整できます。類似度 0% は完全に異なるイメージを、類似度 100% は完全に一致するイメージを意味します。多少の変化があってもイメージが見つかるようにするには、0.8 や 0.9 のような値を使用するのが良いように思われますが、実際には、これらは非常に低い値です。
類似度 0.9 では、完全に白い 100 ピクセルの画像は、90 個の白いピクセルと、10 個の黒いピクセルを持つ画像と同一とみなされます。これは実際には大きな違いです。非常に大きなイメージの場合、この差はさらに顕著になります。
類似度の例 #1
以下の、Edge および Internet Explorer のアイコンを例に取り上げます。それぞれ約 2000 ピクセルであり、その見た目は異なります。類似度 0.9 は、この違いを捉えることができず、同一のものとみなします。これらを異なるものとみなすためには、少なくとも類似度 0.95 以上が必要です。
Program icons of Edge and Internet explorer
このため、類似度はなるべく高い値を指定することをおすすめします。1.0 で動作しない場合には、通常、0.999, 0.99, 0.98
といった値が適切です。顕著な違いを無視することになるため、0.95 よりも低い値はほとんど指定することはありません。
これらの高い値でイメージを検出するために、png や bmp といった非圧縮の画像フォーマットを使用してください。jpg のような圧縮フォーマットは不適切です。
数千ピクセル以上の大きな画像の場合には、高速なマシンであっても、類似度の計算に非常に時間がかかる場合があるため、類似度のレポート機能をオフにすることをおすすめします。
類似度の例 #2
類似度は、チェックをパスするために比較画像がどの程度似ている必要があるのかを、パーセンテージで定義します。各ピクセルの色差が計算され、平均二乗誤差が合計されます。
例:
- 10×10 ピクセルのイメージを例に考えます。
- ただ 1 つのピクセルを除き、他のすべてのピクセル値が同じ色である 2 つの画像を考えます。異なる 1 つのピクセルが、画像 A では白 (RGB 255,255,255)、画像 B では黒 (RGB 0,0,0) である場合、類似度は 99% になります。
- 異なる 1 つのピクセルが、画像 A では黒 (RGB 0,0,0)、画像 B ではグレー (RGB 128,128,128、つまり、50% の色差) である場合、類似度は 99.75% になります。
- 単純に言えば、大きな画像を比較してその中の小さな差異を見つけたい場合には、99% の類似度は非常に低い類似度ということになります。