画像データからの構造要素生成
Namespace: FVIL.MorphologyAssembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)
Syntax
C# |
---|
public virtual void Create( CFviImage image, int anchor_x, int anchor_y ) |
Visual Basic |
---|
Public Overridable Sub Create ( image As CFviImage, anchor_x As Integer, anchor_y As Integer ) |
Parameters
- image
- Type: FVIL.Data..::..CFviImage
複製元の画像
- anchor_x
- Type: System..::..Int32
X方向アンカー位置(0≦ anchor_x < マスク幅)
- anchor_y
- Type: System..::..Int32
Y方向アンカー位置(0≦ anchor_y < マスク幅)
Remarks
引数に指定された image の 処理範囲 をコピーして構造要素を生成します。
構造要素のマスクサイズは処理範囲の幅と高さが適用され、マスクメモリ横幅は内部で計算されます。
複製可能な画像の型は以下の通りです。
画像データの画素値 0 を 0 に、0 以外を 1 に変換してマスクを作成します。 RGB24 または RGB32 の時は R,G,B の何れかのプレーンが 0 で無いとき 1 に変換します。
複製可能な画像の型は以下の通りです。
画像データの画素値 0 を 0 に、0 以外を 1 に変換してマスクを作成します。 RGB24 または RGB32 の時は R,G,B の何れかのプレーンが 0 で無いとき 1 に変換します。
生成に失敗した場合は例外を発行します。
エラーコード:
値 | ErrorCode メンバ | 内容 |
---|---|---|
51 | FVIL.ErrorCode.LICENSE_ERROR | ライセンスがありません。 |
1 | FVIL.ErrorCode.FAILED_TO_ALLOCATE | メモリ不足で確保に失敗しました。 |
11 | FVIL.ErrorCode.INVALID_PARAMETER | 指定された値が無効です。 |
Examples
以下に、2値画像に処理範囲を設定して構造要素を生成する処理を示します。
ソースコード:
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 { public partial class Morphology { [FvPluginExecute] public void SE_Image_ctor() { // 画像ファイルの読み込み. FVIL.Data.CFviImage image = new FVIL.Data.CFviImage(); FVIL.File.Function.LoadImageFile(Defs.TestImageDir + "/blob_BIN_2.png", image, FVIL.PixelMode.Unpacking); // 処理範囲を設定. image.Window = new Rectangle(12, 12, 10, 10); // 画像から構造要素を生成.(アンカー:4,5) FVIL.Morphology.CFviStructureElement se = new FVIL.Morphology.CFviStructureElement(image, 4, 5); } [FvPluginExecute] public void SE_Image_Create() { // インスタンスの準備. FVIL.Morphology.CFviStructureElement se = new FVIL.Morphology.CFviStructureElement(); // 画像ファイルの読み込み. FVIL.Data.CFviImage image = new FVIL.Data.CFviImage(); FVIL.File.Function.LoadImageFile(Defs.TestImageDir + "/blob_BIN_2.png", image, FVIL.PixelMode.Unpacking); // 処理範囲を設定. image.Window = new Rectangle(12, 12, 10, 10); // 画像から構造要素を生成.(アンカー:4,5) se.Create(image, 4, 5); } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.1 $ Imports System.Collections.Generic Imports System.Text Imports System.Drawing Imports fvalgcli ' FvPluginXXXX attribute requires fvalgcli Namespace SampleCode Public Partial Class Morphology <FvPluginExecute> _ Public Sub SE_Image_ctor() ' 画像ファイルの読み込み. Dim image As New FVIL.Data.CFviImage() FVIL.File.[Function].LoadImageFile(Defs.TestImageDir & "/blob_BIN_2.png", image, FVIL.PixelMode.Unpacking) ' 処理範囲を設定. image.Window = New Rectangle(12, 12, 10, 10) ' 画像から構造要素を生成.(アンカー:4,5) Dim se As New FVIL.Morphology.CFviStructureElement(image, 4, 5) End Sub <FvPluginExecute> _ Public Sub SE_Image_Create() ' インスタンスの準備. Dim se As New FVIL.Morphology.CFviStructureElement() ' 画像ファイルの読み込み. Dim image As New FVIL.Data.CFviImage() FVIL.File.[Function].LoadImageFile(Defs.TestImageDir & "/blob_BIN_2.png", image, FVIL.PixelMode.Unpacking) ' 処理範囲を設定. image.Window = New Rectangle(12, 12, 10, 10) ' 画像から構造要素を生成.(アンカー:4,5) se.Create(image, 4, 5) End Sub End Class End Namespace |
Exceptions
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |