3×3構造要素による closing (REGION版)

Namespace: FVIL.Region
Assembly: 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項目内容
08近傍3×3 の矩形の構造要素
14近傍3×3 の矩形から左上・右上・左下・右下を除いた十字の構造要素

処理に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
引数に null を指定した場合は System.NullReferenceException が発行されます。

エラーコード:

ErrorCode メンバ内容
51FVIL.ErrorCode.LICENSE_ERROR ライセンスキーが見つからない為、実行できません。 または、 FVIL._SetUp.InitVisionLibrary が実行されていません。
1FVIL.ErrorCode.FAILED_TO_ALLOCATEメモリ不足の為、処理に失敗しました。
11FVIL.ErrorCode.INVALID_PARAMETERリージョンまたはパラメータが無効です。
12FVIL.ErrorCode.INVALID_OBJECTリージョンオブジェクトハンドルまたは構造要素オブジェクトが無効です。

Examples

以下のようなリージョンを使用した処理を示します。

ソースコード:
C# Copy imageCopy
//    $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 imageCopy
'    $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

ExceptionCondition
FVIL..::..CFviExceptionこの例外の原因については、上記のエラーコード表をご参照ください。

See Also