FPMオブジェクトの生成 (パタン画像指定)
Namespace: FVIL.FPM2Assembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)
Syntax
C# |
---|
public virtual void Create( CFviPattern pattern, MatchMode match_mode, CFviDataObject feature_param ) |
Visual Basic |
---|
Public Overridable Sub Create ( pattern As CFviPattern, match_mode As MatchMode, feature_param As CFviDataObject ) |
Parameters
- pattern
- Type: FVIL.Data..::..CFviPattern
マスターパタン画像 (※画像種別 UC8、1 チャネルのみ)
- match_mode
- Type: FVIL.FPM2..::..MatchMode
マッチング処理モード
- feature_param
- Type: FVIL.Data..::..CFviDataObject
特徴量抽出用パラメータ- 相関エッジ(CFviEdge2DCorrelationParam のインスタンス)
- ソーベル(CFviEdge2DSobelParam のインスタンス)
Remarks
指定された画像から特徴量を抽出してFPMオブジェクトを生成します。
引数の pattern に指定する画像は、画像種別 UC8、x1 チャネルのみを対象としています。 特徴量抽出の範囲は、画像オブジェクトに指定された 処理範囲 が適用されます。 また、特徴量を取得する内部処理では、指定した画像に対してボーダー拡張処理を行っています。 パタン画像のマスク情報(マスクと不可欠部分)は、それぞれ SetMask(CFviImage) と SetEssential(CFviImage) で設定されます。 この場合も、画像オブジェクトに指定された 処理範囲 が適用されます。 パタン画像の 基準点 は、マッチング回答オフセット値として使用されます。
引数 match_mode は、マッチング処理の実行時の挙動を指示するものです。
高速モード が指定された場合は、
通常モードに比べて処理時間が2倍ほど高速になります。(画像に依存する為、差異がない場合もあります。)
精度は、ほぼ同等ですが、以下の点で挙動が異なります。
- スケール範囲が±10% 以内に限定されます。
- 同一位置に重なったワークは1つしか見つかりません。
但し、スケール範囲を示すプロパティ( ScaleMax, ScaleMin )の値が、±10%を超えていた場合でもエラーは発生しません。
引数 feature_param には、特徴量を抽出するエッジ検出処理のパラメータを指定してください。 このパラメータクラスの種類によってエッジ検出手法(相関エッジ/ソーベル)を決定します。
処理に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
エラーコード:
値 | ErrorCode メンバ | 内容 |
---|---|---|
51 | FVIL.ErrorCode.LICENSE_ERROR | ライセンスキーが見つからない為、実行できません。 または、 FVIL._SetUp.InitVisionLibrary が実行されていません。 |
1 | FVIL.ErrorCode.FAILED_TO_ALLOCATE | 処理の途中でメモリ確保に失敗しました。メモリが不足しています。 |
8 | FVIL.ErrorCode.FAILED_TO_EXECUTE | 特徴量が見つかりません。 |
11 | FVIL.ErrorCode.INVALID_PARAMETER | パラメータが無効です。 |
12 | FVIL.ErrorCode.INVALID_OBJECT | 画像オブジェクトが処理対象外、または異常です。 |
Exceptions
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |