周囲座標の取得
Namespace: FVIL.RegionAssembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)
Syntax
C# |
---|
[ObsoleteAttribute("Please use CFviRegion.GetBoundaryEx")] public static void GetBoundaryEx( CFviRegion region, PNT_T_ARRAY points_ext, PNT_T_ARRAY points_int ) |
Visual Basic |
---|
<ObsoleteAttribute("Please use CFviRegion.GetBoundaryEx")> Public Shared Sub GetBoundaryEx ( region As CFviRegion, points_ext As PNT_T_ARRAY, points_int As PNT_T_ARRAY ) |
Parameters
- region
- Type: FVIL.Data..::..CFviRegion
取得対象のリージョン
- points_ext
- Type: FVIL..::..PNT_T_ARRAY
境界点列(外周) [不要な場合は null を指定してください]
- points_int
- Type: FVIL..::..PNT_T_ARRAY
境界点列(内周) [不要な場合は null を指定してください]
Remarks
リージョンの境界点列を取得します。
この関数は CFviRegion.Boundary や CFviRegion.BoundaryInternal の改良版です。 データコピーやインスタンス生成のコストを削減できるため、高速に取得できます。 特徴量の意味は Boundary 及び BoundaryInternal の説明をご参照ください。
処理に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
エラーコード:
値 | ErrorCode メンバ | 内容 |
---|---|---|
11 | FVIL.ErrorCode.INVALID_PARAMETER | 引数に指定された値が不正です。 |
関連する FIE 関数:
fnFIE_region_calc_boundary_ex
Examples
ソースコード:
C# | Copy |
---|---|
using System; using System.Collections.Generic; using System.Text; using fvalgcli; namespace User.SampleCode.Region { public partial class Function { /// <summary> /// 周囲座標の取得. /// </summary> [FvPluginExecute] public void GetBoundaryEx() { // 0) 画像オブジェクトの準備. // ※指定画像の処理ウィンドウで指定された範囲が、リージョンとして抽出の対象となる。 FVIL.Data.CFviImage src = new FVIL.Data.CFviImage(); FVIL.File.Function.LoadImageFile(Defs.TestImageDir + "/key_BIN_M.png", src, FVIL.PixelMode.Unpacking); src.Window = new System.Drawing.Rectangle(130, 40, 60, 130); // 1) リージョンの生成. FVIL.Data.CFviRegion region = CreateRegion(src); // 2) 画像処理実行. FVIL.PNT_T_ARRAY points_ext = new FVIL.PNT_T_ARRAY(); FVIL.PNT_T_ARRAY points_int = new FVIL.PNT_T_ARRAY(); FVIL.Region.Function.GetBoundaryEx(region, points_ext, points_int); // E) 確認. { FVIL.Data.CFviImage image = new FVIL.Data.CFviImage(); FVIL.Paint.Function.DrawPoints(image, points_ext, 200.0); FVIL.Paint.Function.DrawPoints(image, points_int, 100.0); FVIL.File.Function.SaveImageFile(Defs.ResultDir + "/Region.GetBoundaryEx.png", image); } } } } |
Visual Basic | Copy |
---|---|
Imports System.Collections.Generic Imports System.Text Imports fvalgcli Namespace SampleCode.Region Public Partial Class [Function] ''' <summary> ''' 周囲座標の取得. ''' </summary> <FvPluginExecute> _ Public Sub GetBoundaryEx() ' 0) 画像オブジェクトの準備. ' ※指定画像の処理ウィンドウで指定された範囲が、リージョンとして抽出の対象となる。 Dim src As New FVIL.Data.CFviImage() FVIL.File.[Function].LoadImageFile(Defs.TestImageDir & "/key_BIN_M.png", src, FVIL.PixelMode.Unpacking) src.Window = New System.Drawing.Rectangle(130, 40, 60, 130) ' 1) リージョンの生成. Dim region As FVIL.Data.CFviRegion = CreateRegion(src) ' 2) 画像処理実行. Dim points_ext As New FVIL.PNT_T_ARRAY() Dim points_int As New FVIL.PNT_T_ARRAY() FVIL.Region.[Function].GetBoundaryEx(region, points_ext, points_int) ' E) 確認. If True Then Dim image As New FVIL.Data.CFviImage() FVIL.Paint.[Function].DrawPoints(image, points_ext, 200.0) FVIL.Paint.[Function].DrawPoints(image, points_int, 100.0) FVIL.File.[Function].SaveImageFile(Defs.ResultDir & "/Region.GetBoundaryEx.png", image) End If End Sub End Class End Namespace |
C# | Copy |
---|---|
using System; using System.Collections.Generic; using System.Text; using fvalgcli; namespace User.SampleCode.Region { public partial class Function { /// <summary> /// リージョンの生成 (2値画像) /// </summary> public FVIL.Data.CFviRegion CreateRegion(FVIL.Data.CFviImage src) { // 1) インスタンスの準備. FVIL.Data.CFviRegion region = new FVIL.Data.CFviRegion(); // 2) リージョンの生成. region.Create(src); // E) 生成されたリージョンの保存. region.Save(Defs.ResultDir + "/Region.CreateRegion.png"); return region; } } } |
Visual Basic | Copy |
---|---|
Imports System.Collections.Generic Imports System.Text Imports fvalgcli Namespace SampleCode.Region Public Partial Class [Function] ''' <summary> ''' リージョンの生成 (2値画像) ''' </summary> Public Function CreateRegion(src As FVIL.Data.CFviImage) As FVIL.Data.CFviRegion ' 1) インスタンスの準備. Dim region As New FVIL.Data.CFviRegion() ' 2) リージョンの生成. region.Create(src) ' E) 生成されたリージョンの保存. region.Save(Defs.ResultDir & "/Region.CreateRegion.png") Return region End Function End Class End Namespace |
Exceptions
Exception | Condition |
---|---|
System..::..NullReferenceException | 引数に null が指定されました。 |
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |