FPM特徴量オブジェクトの生成 (画像オブジェクト指定)
Namespace: FVIL.FPM2Assembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)
Syntax
C# |
---|
public virtual void Create( CFviImage image, MatchMode match_mode, CFviDataObject feature_param, bool border ) |
Visual Basic |
---|
Public Overridable Sub Create ( image As CFviImage, match_mode As MatchMode, feature_param As CFviDataObject, border As Boolean ) |
Parameters
- image
- Type: FVIL.Data..::..CFviImage
処理対象画像 [UC8x1]
- match_mode
- Type: FVIL.FPM2..::..MatchMode
マッチング処理モード
- feature_param
- Type: FVIL.Data..::..CFviDataObject
特徴量抽出用パラメータ [相関エッジ、ソーベル]- 相関エッジ(CFviEdge2DCorrelationParam のインスタンス)
- ソーベル(CFviEdge2DSobelParam のインスタンス)
- border
- Type: System..::..Boolean
特徴量抽出時のボーダー処理- true: ボーダー処理を行う
- false: ボーダー処理を行わない
Remarks
指定された画像から特徴量を抽出してFPM特徴量オブジェクトを生成します。
引数の image に指定する画像は、画像種別 UC8、x1 チャネルのみを対象としています。 また、画像メモリの 物理的な横幅 (バイト数) が 8 で割り切れない場合には、内部で画像のコピーを行うため処理時間が余計にかかります。 特徴量抽出の範囲は、画像オブジェクトに指定された 処理範囲 が適用されます。 また、特徴量を取得する内部処理では、指定した画像に対してボーダー拡張処理を行っています。
引数 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 | この例外の原因については、上記のエラーコード表をご参照ください。 |