画像データの比較

Namespace: FVIL.Data
Assembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)

Syntax

C#
public virtual bool Compare(
	CFviImage src,
	double ErrRange,
	uint option
)
Visual Basic
Public Overridable Function Compare ( 
	src As CFviImage,
	ErrRange As Double,
	option As UInteger
) As Boolean

Parameters

src
Type: FVIL.Data..::..CFviImage
比較対象
ErrRange
Type: System..::..Double
誤差範囲 (0.0~)
option
Type: System..::..UInt32
処理オプション (0,1)
以下の値で適用範囲を選択できます。
  • 0: 処理ウィンドウ で指定された範囲を比較します。
  • 1: 画像全体を比較します。

Return Value

Type: Boolean
画像データに相違点があれば false を返します。相違点が無ければ true を返します。

Remarks

画像データを比較します。
各画素の差の絶対値が ErrRange 以下の場合は一致とし、超える場合は不一致とします。
比較する領域のサイズ、チャネル数は一致している必要があります。
画像種別の違いは、以下のように処理されます。

  • 2値画像と濃淡画像の場合は、2値(0/1)と濃度値(0~)の比較を行います。
  • 2値画像とパッキングされたカラー画像の場合は、2値(0/1)とR,G,B プレーンをそれぞれ比較します。
  • 濃淡画像とパッキングされたカラー画像の場合は、濃度値(0~)とR,G,B プレーンをそれぞれ比較します。
  • 双方が2値画像の場合は、2値(0/1)同士の比較を行います。
  • 双方がパッキングされたカラー画像の場合は R,G,B のプレーンをそれぞれ比較します。 アルファは無視します。 また、ビット深度は無視し、各プレーンを 8 ビットで扱います。
  • それ以外は、実数にキャストして比較します。
※ビット深度によるスケーリングは行いません。

処理に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。

エラーコード:

ErrorCode メンバ内容
11FVIL.ErrorCode.INVALID_PARAMETER引数に指定された値が不正です。
23FVIL.ErrorCode.NOT_ALLOCATED画像メモリが確保されていません。
96FVIL.ErrorCode.NOMATCH_IMAGESIZE画像サイズまたは処理範囲が一致していません。
99FVIL.ErrorCode.NOMATCH_CHANNELチャネルが一致していません。

Exceptions

ExceptionCondition
FVIL..::..CFviExceptionこの例外の原因については、上記のエラーコード表をご参照ください。

See Also