特徴量を取得

Namespace: fvalgcli
Assembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)

Syntax

C#
public static FHANDLE fnFIE_fpm_feature_alloc(
	FHANDLE himage,
	f_fpm_mode matching_mode,
	f_fpm_featedge method,
	ref F_FPM_FEATURE pfeature_param,
	bool border,
	ref int perr_code
)
Visual Basic
Public Shared Function fnFIE_fpm_feature_alloc ( 
	himage As FHANDLE,
	matching_mode As f_fpm_mode,
	method As f_fpm_featedge,
	ByRef pfeature_param As F_FPM_FEATURE,
	border As Boolean,
	ByRef perr_code As Integer
) As FHANDLE

Parameters

himage
Type: fvalgcli..::..FHANDLE
特徴量を計測する対象となる画像オブジェクト (画像タイプ:uc8 のみ対応) チャネル数は 1 でなければいけません。
matching_mode
Type: fvalgcli..::..f_fpm_mode
FPMを行う際のマッチングモード
  • F_FPM_NORMAL_MODE 通常モード
  • F_FPM_SPEED_MODE 高速モード
method
Type: fvalgcli..::..f_fpm_featedge
特徴量抽出手法
  • F_FPM_SOBEL_EDGE ソーベルによる特徴量抽出
  • F_FPM_CORR_EDGE 相関エッジによる特徴量抽出
pfeature_param
Type: fvalgcli..::..F_FPM_FEATURE%
特徴量計測パラメータ
border
Type: System..::..Boolean
特徴量抽出時のボーダー処理
  • TRUE ボーダー処理を行う
  • FALSE ボーダー処理を行わない
perr_code
Type: System..::..Int32%
正常終了、またはエラーコードが入力されます。エラーコードを受け取る必要の無い場合は、IntPtr.Zero を指定します。
  • F_ERR_NONE 正常終了
  • F_ERR_INVALID_IMAGE 引数画像オブジェクトが異常
  • F_ERR_INVALID_PARAM 引数異常
  • F_ERR_NOMEMORY メモリ不足
  • F_ERR_FPM_NOFEATURE 特徴量が見つかりません。
  • F_ERR_NO_LICENCE ライセンスエラー

Return Value

Type: FHANDLE
正常終了した場合は、生成したFPM特徴量オブジェクトのハンドルを返します。 異常終了により生成できなかったときは IntPtr.Zero を返します。

Remarks

Examples

C# Copy imageCopy
//    $Revision: 1.1 $

using System;
using System.Collections.Generic;
using System.Text;
using fvalgcli;

namespace TC
{
    public partial class FIE
    {
        /// <summary>
        /// FPM特徴量オブジェクトの生成.
        /// </summary>
        /// <param name="hSrc">処理対象画像</param>
        /// <returns>
        ///        FPM特徴量オブジェクトを返します.
        /// </returns>
        public void fnFIE_fpm_feature_alloc(FHANDLE hFeature)
        {
            string src_file = TestImageDir + "/testdata/fpm00.bmp";

            FHANDLE hSrc = FHANDLE.Zero;
            try
            {
                // 画像ファイルの読み込み.
                api.fnFIE_load_bmp(src_file, ref hSrc, f_color_img_type.F_COLOR_IMG_TYPE_UC8);

                // 特徴量の取得.
                f_fpm_mode matching_mode = f_fpm_mode.F_FPM_SPEED_MODE;
                f_fpm_featedge method = f_fpm_featedge.F_FPM_SOBEL_EDGE;
                F_FPM_FEATURE feature_param = new F_FPM_FEATURE();
                feature_param.sobel_edge = F_EDGE_SOBEL_PARAMS.init(120, 3);
                int perr_code = 0;
                bool border = true;

                hFeature = api.fnFIE_fpm_feature_alloc(hSrc, matching_mode, method, ref feature_param, border, ref perr_code);
                Assert.IsTrue(perr_code == (int)f_err.F_ERR_NONE, "fnFIE_fpm_feature_alloc: エラーが発生しました。({0})", (f_err)perr_code);
                Console.WriteLine("fnFIE_fpm_feature_alloc");
            }
            finally
            {
                hSrc.Dispose();
                hFeature.Dispose();
            }
        }
    }
}


Visual Basic Copy imageCopy
'    $Revision: 1.1 $

Imports System.Collections.Generic
Imports System.Text
Imports fvalgcli

Public Partial Class FIE
    ''' <summary>
    ''' FPM特徴量オブジェクトの生成.
    ''' </summary>
    ''' <param name="hSrc">処理対象画像</param>
    ''' <returns>
    '''        FPM特徴量オブジェクトを返します.
    ''' </returns>
    Public Sub fnFIE_fpm_feature_alloc(hFeature As FHANDLE)
        Dim src_file As String = TestImageDir & "/testdata/fpm00.bmp"

        Dim hSrc As FHANDLE = FHANDLE.Zero
        Try
            ' 画像ファイルの読み込み.
            api.fnFIE_load_bmp(src_file, hSrc, f_color_img_type.F_COLOR_IMG_TYPE_UC8)

            ' 特徴量の取得.
            Dim matching_mode As f_fpm_mode = f_fpm_mode.F_FPM_SPEED_MODE
            Dim method As f_fpm_featedge = f_fpm_featedge.F_FPM_SOBEL_EDGE
            Dim feature_param As New F_FPM_FEATURE()
            feature_param.sobel_edge = F_EDGE_SOBEL_PARAMS.init(120, 3)
            Dim perr_code As Integer = 0
            Dim border As Boolean = True

            hFeature = api.fnFIE_fpm_feature_alloc(hSrc, matching_mode, method, feature_param, border, perr_code)
            Assert.IsTrue(perr_code = CInt(f_err.F_ERR_NONE), "fnFIE_fpm_feature_alloc: エラーが発生しました。({0})", CType(perr_code, f_err))
            Console.WriteLine("fnFIE_fpm_feature_alloc")
        Finally
            hSrc.Dispose()
            hFeature.Dispose()
        End Try
    End Sub
End Class

See Also