開発者ブログ

画像比較方法の指定

Last modified by hashimot on 2017/09/01, 17:00

画像比較方法の指定

AssertionView#assertView実行の際に、
2つの画像を比較して正解判定をするためのアルゴリズムを変更することができます。

SIMILARITY

2つの画像の類似度を計算し、その値が閾値を超えるか否かで正解を判定できます。
類似度計算は4つの指標を用いて行います。
計算結果が閾値以上の値の場合は、一致とみなします(1.0で完全一致の場合、0.0でどの場合でも一致とみなす)。
指定されていない場合は、0.0を指定したことと同じ(その類似度の値は使用しないこと)となります。
指定する閾値は小数点以下2桁まで記述できます。小数点以下3桁以降を記述した場合は小数点以下3桁から切り捨られます。

  • similarityPixelByPixel (各pixelの色の差分ノルムに基づく類似度)
  • similarityFeatureMatrix (画像を5*5に分割し、各セルの特徴量を計算した行列に基づく類似度)
  • similarityThresDiff (画像の重ね合わせの位置をずらして、その中で各pixelで閾値以上の色の違いがある数に基づく類似度)
  • similarityTotalDiff (閾値を0としたsimiralityThresDiff)
{
"options": [
{
"type": "SIMILARITY",
"parameters": {
"pixleByPixelThreshold": 1.0,
"featherMatrixThreshold": 1.0,
"thresDiffThreshold": 1.0,
"totalDiffThreshold": 1.0
}
}
]
}

設定ファイル(comparisonConfig.json)記述例

CATEGORY

画像間の差分を、その原因によって分類し、特定の原因による差分を許容して比較を行います。
原因の種別は下記の4通りです。
acceptCategoriesプロパティに含めることで、その種別の差分を許容できます。

  • TEXT(テキストのサブピクセルレンダリングによる差分)
  • SHIFT(領域が移動していることによる差分)
  • SCALING(領域が拡大していることによる差分)
  • MISSING(領域がなくなっていることによる差分)

また、これらのいずれでもない差分が出た場合はテストに失敗します。

{
"options": [
{
"type": "CATEGORY",
"parameters": {
"acceptCategories": ["TEXT", "SHIFT", "SCALING", "MISSING"]
}
}
]
}

設定ファイル(comparisonConfig.json)記述例


Copyright (C) 2012-2017 NS Solutions Corporation, All Rights Reserved.