3×3構造要素による closing (REGION版)
Namespace: FVIL.RegionAssembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)
Syntax
C# |
---|
public static void Closing( CFviRegion src, CFviRegion dst, int filter_num, int iMode ) |
Visual Basic |
---|
Public Shared Sub Closing ( src As CFviRegion, dst As CFviRegion, filter_num As Integer, iMode As Integer ) |
Parameters
- src
- Type: FVIL.Data..::..CFviRegion
処理対象のリージョンオブジェクト
- dst
- Type: FVIL.Data..::..CFviRegion
処理結果を格納するリージョンオブジェクト
- filter_num
- Type: System..::..Int32
実行回数 (1以上)
- iMode
- Type: System..::..Int32
近傍モード (0:8近傍 1:4近傍)
Remarks
3×3 の構造要素を指定してリージョンの closing を行います。
引数 iMode によって以下の構造要素を選択できます。
iMode | 項目 | 内容 |
---|---|---|
0 | 8近傍 | 3×3 の矩形の構造要素 |
1 | 4近傍 | 3×3 の矩形から左上・右上・左下・右下を除いた十字の構造要素 |
処理に失敗した場合は例外を発行します。
例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
引数に null を指定した場合は System.NullReferenceException が発行されます。
エラーコード:
値 | ErrorCode メンバ | 内容 |
---|---|---|
51 | FVIL.ErrorCode.LICENSE_ERROR | ライセンスキーが見つからない為、実行できません。 または、 FVIL._SetUp.InitVisionLibrary が実行されていません。 |
1 | FVIL.ErrorCode.FAILED_TO_ALLOCATE | メモリ不足の為、処理に失敗しました。 |
11 | FVIL.ErrorCode.INVALID_PARAMETER | リージョンまたはパラメータが無効です。 |
12 | FVIL.ErrorCode.INVALID_OBJECT | リージョンオブジェクトハンドルまたは構造要素オブジェクトが無効です。 |
Examples
以下のようなリージョンを使用した処理を示します。
【関数の結果】
ソースコード:
C# | Copy |
---|---|
// $Revision: 1.3 $ using System; using System.Collections.Generic; using System.Text; using System.Drawing; using fvalgcli; // FvPluginXXXX attribute requires fvalgcli namespace User.SampleCode.Region { public partial class Morphology { /// <summary> /// [リージョンオブジェクトのモルフォロジ処理] /// 3×3構造要素による Closing /// 実行回数 :1 /// 近傍モード :0(8近傍) /// </summary> [FvPluginExecute] public void Closing_0() { Morphology_Closing(1, 0); } /// <summary> /// [リージョンオブジェクトのモルフォロジ処理] /// 3×3構造要素による Closing /// 実行回数 :1 /// 近傍モード :1(4近傍) /// </summary> [FvPluginExecute] public void Closing_1() { Morphology_Closing(1, 1); } /// <summary> /// [リージョンオブジェクトのモルフォロジ処理] /// 3×3構造要素による Closing /// </summary> /// <param name="filter_num">実行回数</param> /// <param name="iMode">近傍モード (0:8近傍 1:4近傍)</param> public void Morphology_Closing(int filter_num, int iMode) { // 1) インスタンスの準備. FVIL.Data.CFviRegion regionSrc = new FVIL.Data.CFviRegion(); FVIL.Data.CFviRegion regionDst = new FVIL.Data.CFviRegion(); // 2) 処理対象リージョンの取り込み. regionSrc.Load(Defs.TestImageDir + "/key_UC8_M_region.png"); // 3) 画像処理実行. FVIL.Region.Morphology.Closing(regionSrc, regionDst, filter_num, iMode); // E) 処理結果画像の保存. regionDst.Save(Defs.ResultDir + "/Region.Morphology.Closing_Mode" + iMode.ToString() + ".png"); } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.2 $ Imports System.Collections.Generic Imports System.Text Imports System.Drawing Imports fvalgcli ' FvPluginXXXX attribute requires fvalgcli Namespace SampleCode.Region Public Partial Class Morphology ''' <summary> ''' [リージョンオブジェクトのモルフォロジ処理] ''' 3×3構造要素による Closing ''' 実行回数 :1 ''' 近傍モード :0(8近傍) ''' </summary> <FvPluginExecute> _ Public Sub Closing_0() Morphology_Closing(1, 0) End Sub ''' <summary> ''' [リージョンオブジェクトのモルフォロジ処理] ''' 3×3構造要素による Closing ''' 実行回数 :1 ''' 近傍モード :1(4近傍) ''' </summary> <FvPluginExecute> _ Public Sub Closing_1() Morphology_Closing(1, 1) End Sub ''' <summary> ''' [リージョンオブジェクトのモルフォロジ処理] ''' 3×3構造要素による Closing ''' </summary> ''' <param name="filter_num">実行回数</param> ''' <param name="iMode">近傍モード (0:8近傍 1:4近傍)</param> Public Sub Morphology_Closing(filter_num As Integer, iMode As Integer) ' 1) インスタンスの準備. Dim regionSrc As New FVIL.Data.CFviRegion() Dim regionDst As New FVIL.Data.CFviRegion() ' 2) 処理対象リージョンの取り込み. regionSrc.Load(Defs.TestImageDir & "/key_UC8_M_region.png") ' 3) 画像処理実行. FVIL.Region.Morphology.Closing(regionSrc, regionDst, filter_num, iMode) ' E) 処理結果画像の保存. regionDst.Save(Defs.ResultDir & "/Region.Morphology.Closing_Mode" & iMode.ToString() & ".png") End Sub End Class End Namespace |
・上記コード内の関数 void Closing_0() を実行した場合
・上記コード内の関数 void Closing_1() を実行した場合
Exceptions
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |