グレイサーチパターンオブジェクトの生成
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static FHANDLE fnFIE_gs2_pattern_alloc(
FHANDLE himage,
FHANDLE hmask,
int mark_offsetx,
int mark_offsety,
f_comp_filter filter,
ref int errorcode
) |
Visual Basic |
---|
Public Shared Function fnFIE_gs2_pattern_alloc (
himage As FHANDLE,
hmask As FHANDLE,
mark_offsetx As Integer,
mark_offsety As Integer,
filter As f_comp_filter,
ByRef errorcode As Integer
) As FHANDLE |
Parameters
- himage
- Type: fvalgcli..::..FHANDLE
サーチパターンにする画像オブジェクト ( type: uc8 )
- hmask
- Type: fvalgcli..::..FHANDLE
マスクにする画像オブジェクト ( type: bin, uc8 )。 IntPtr.Zero を投入するとマスクなしのパターンになります。
- mark_offsetx
- Type: System..::..Int32
回答X座標オフセット(100倍値)
- mark_offsety
- Type: System..::..Int32
回答Y座標オフセット(100倍値)
- filter
- Type: fvalgcli..::..f_comp_filter
内部で画像ピラミッドの生成に使うフィルタの種別
- F_COMP_MODE_SMOOTH 通常(平均)
- F_COMP_MODE_MIN 最小値
- F_COMP_MODE_MAX 最大値
- F_COMP_MODE_AVERAGE2 再平均
- errorcode
- Type: System..::..Int32%
エラーコード。エラーコードを受け取る必要の無い場合は、IntPtr.Zero を指定します。
- F_ERR_NONE 正常終了
- F_ERR_NOMEMORY メモリ不足
- F_ERR_INVALID_OBJECT 渡されたオブジェクトの種別が異常
- F_ERR_GS_NO_CONTRAST パタン画像に情報が足りないため、パタンにならない。 (==マスク部をのぞいた画像の濃度分散が0.0になる)
- F_ERR_INVALID_IMAGE 対応していない画像が渡された
- hmask と himage のサイズが違う
- 非対応画像type
- チャネル数が1でない
- 入力画像が大きすぎる
- F_ERR_INVALID_PARAM パラメータ異常
- himage オブジェクトが IntPtr.Zero
- filter に異常な値が渡された
Return Value
Type:
FHANDLE正常終了した場合は、生成したグレイサーチパターンオブジェクトのハンドルを返します。 ライセンスエラー、パラメータエラー、又はメモリ不足により生成できなかったときは IntPtr.Zero を返します。
Remarks
Examples
C# | Copy |
---|
using System;
using System.Collections.Generic;
using System.Text;
using fvalgcli;
namespace TC
{
public partial class FIE
{
[FvPluginExecute]
public void fnFIE_gs2_pattern_alloc()
{
FHANDLE hPattern = FHANDLE.Zero;
FHANDLE hSrc = FHANDLE.Zero;
FHANDLE hImage = FHANDLE.Zero;
FHANDLE hmask = FHANDLE.Zero;
try
{
int status = api.fnFIE_load_img_file(TestImageDir + "/TC/SampleCode/key_UC8_M.png", ref hSrc, f_color_img_type.F_COLOR_IMG_TYPE_UC8);
if (status != (int)f_err.F_ERR_NONE)
Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_gs2_pattern_alloc: 画像を開くときにエラーが発生しました。({0})", (f_err)status);
hImage = api.fnFIE_img_child_alloc(hSrc, 50, 0, 80, 80);
int mark_offsetx = 10;
int mark_offsety = 10;
hPattern = api.fnFIE_gs2_pattern_alloc(hImage, hmask, mark_offsetx, mark_offsety, f_comp_filter.F_COMP_MODE_SMOOTH, ref status);
Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_gs2_pattern_alloc: エラーが発生しました。({0})", (f_err)status);
fnFIE_gs2_pattern_set_comp_filter(hPattern);
fnFIE_gs2_pattern_get_comp_filter(hPattern);
fnFIE_gs2_pattern_rotate(hPattern);
fnFIE_gs2_pattern_get_image(hPattern);
fnFIE_gs2_pattern_set_mask(hPattern);
fnFIE_gs2_pattern_get_mask(hPattern);
fnFIE_gs2_pattern_set_offset(hPattern);
fnFIE_gs2_pattern_get_offset(hPattern);
fnFIE_gs2_pattern_unset_mask(hPattern);
fnFIE_gs2_pattern_get_comp_image(hPattern);
}
finally
{
hPattern.Dispose();
hSrc.Dispose();
hImage.Dispose();
hmask.Dispose();
}
}
}
} |
Visual Basic | Copy |
---|
Imports System.Collections.Generic
Imports System.Text
Imports fvalgcli
Public Partial Class FIE
<FvPluginExecute> _
Public Sub fnFIE_gs2_pattern_alloc()
Dim hPattern As FHANDLE = FHANDLE.Zero
Dim hSrc As FHANDLE = FHANDLE.Zero
Dim hImage As FHANDLE = FHANDLE.Zero
Dim hmask As FHANDLE = FHANDLE.Zero
Try
Dim status As Integer = api.fnFIE_load_img_file(TestImageDir & "/TC/SampleCode/key_UC8_M.png", hSrc, f_color_img_type.F_COLOR_IMG_TYPE_UC8)
If status <> CInt(f_err.F_ERR_NONE) Then
Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_gs2_pattern_alloc: 画像を開くときにエラーが発生しました。({0})", CType(status, f_err))
End If
hImage = api.fnFIE_img_child_alloc(hSrc, 50, 0, 80, 80)
Dim mark_offsetx As Integer = 10
Dim mark_offsety As Integer = 10
hPattern = api.fnFIE_gs2_pattern_alloc(hImage, hmask, mark_offsetx, mark_offsety, f_comp_filter.F_COMP_MODE_SMOOTH, status)
Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_gs2_pattern_alloc: エラーが発生しました。({0})", CType(status, f_err))
fnFIE_gs2_pattern_set_comp_filter(hPattern)
fnFIE_gs2_pattern_get_comp_filter(hPattern)
fnFIE_gs2_pattern_rotate(hPattern)
fnFIE_gs2_pattern_get_image(hPattern)
fnFIE_gs2_pattern_set_mask(hPattern)
fnFIE_gs2_pattern_get_mask(hPattern)
fnFIE_gs2_pattern_set_offset(hPattern)
fnFIE_gs2_pattern_get_offset(hPattern)
fnFIE_gs2_pattern_unset_mask(hPattern)
fnFIE_gs2_pattern_get_comp_image(hPattern)
Finally
hPattern.Dispose()
hSrc.Dispose()
hImage.Dispose()
hmask.Dispose()
End Try
End Sub
End Class |
See Also