画像特徴量:2次濃淡モーメント
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_img_pixelmoment2( FHANDLE himg, FHANDLE hreg, ref double pixelsumx2, ref double pixelsumy2, ref double pixelsumxy ) |
Visual Basic |
---|
Public Shared Function fnFIE_img_pixelmoment2 ( himg As FHANDLE, hreg As FHANDLE, ByRef pixelsumx2 As Double, ByRef pixelsumy2 As Double, ByRef pixelsumxy As Double ) As Integer |
Parameters
- himg
- Type: fvalgcli..::..FHANDLE
処理対象画像( type: uc8, s16, us16, double )
- hreg
- Type: fvalgcli..::..FHANDLE
領域
- pixelsumx2
- Type: System..::..Double%
X方向2次濃淡モーメント
- pixelsumy2
- Type: System..::..Double%
Y方向2次濃淡モーメント
- pixelsumxy
- Type: System..::..Double%
XY方向濃淡モーメント
Return Value
Type: Int32以下のエラーコードを返します。
エラーコード:
f_err | 内容 |
---|---|
F_ERR_NONE | 正常終了 |
F_ERR_INVALID_IMAGE | 不正な画像オブジェクト |
F_ERR_INVALID_OBJECT | 領域が不正なハンドル |
F_ERR_CALC_IMPOSSIBLE | 計算不能 |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
Remarks
Examples
C# | Copy |
---|---|
// $Revision: 1.1 $ using System; using System.Collections.Generic; using System.Text; using fvalgcli; namespace TC { public partial class FIE { [FvPluginExecute] public void fnFIE_img_pixelmoment2() { FHANDLE himage = FHANDLE.Zero; FHANDLE hreg = FHANDLE.Zero; FHANDLE himg = FHANDLE.Zero; try { // リージョン作成用の2値画像を読み込む. int status1 = api.fnFIE_load_img_file(TestImageDir + "/TC/SampleCode/palette_BIN_1.png", ref himage, f_color_img_type.F_COLOR_IMG_TYPE_UC8); Assert.IsTrue(status1 == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status1); Assert.IsTrue(himage != FHANDLE.Zero, "himage が異常です."); // 画像からリージョンを作成する. // --- オフセット. PNT_T offset = new PNT_T(); offset.x = 0; offset.y = 0; // --- 作成. hreg = api.fnFIE_region_encode(himage, offset); Assert.IsTrue(hreg != FHANDLE.Zero, "リージョン作成でエラー."); // 計測用の濃淡画像を読み込む. int status2 = api.fnFIE_load_img_file(TestImageDir + "/TC/SampleCode/palette_UC8.png", ref himg, f_color_img_type.F_COLOR_IMG_TYPE_UC8); Assert.IsTrue(status2 == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status2); // 画像特徴量:2次濃淡モーメント. double pixelsumx2 = 0; double pixelsumy2 = 0; double pixelsumxy = 0; int status = api.fnFIE_img_pixelmoment2(himg, hreg, ref pixelsumx2, ref pixelsumy2, ref pixelsumxy); Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "img_pixelmoment2でエラーが発生しました。({0})", (f_err)status); // 値の確認. Console.WriteLine("pixelsumx2={0},pixelsumy2={1},pixelsumxy={2}", pixelsumx2, pixelsumy2, pixelsumxy); } finally { himage.Dispose(); hreg.Dispose(); himg.Dispose(); } } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.1 $ Imports System.Collections.Generic Imports System.Text Imports fvalgcli Public Partial Class FIE <FvPluginExecute> _ Public Sub fnFIE_img_pixelmoment2() Dim himage As FHANDLE = FHANDLE.Zero Dim hreg As FHANDLE = FHANDLE.Zero Dim himg As FHANDLE = FHANDLE.Zero Try ' リージョン作成用の2値画像を読み込む. Dim status1 As Integer = api.fnFIE_load_img_file(TestImageDir & "/TC/SampleCode/palette_BIN_1.png", himage, f_color_img_type.F_COLOR_IMG_TYPE_UC8) Assert.IsTrue(status1 = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status1, f_err)) Assert.IsTrue(himage <> FHANDLE.Zero, "himage が異常です.") ' 画像からリージョンを作成する. ' --- オフセット. Dim offset As New PNT_T() offset.x = 0 offset.y = 0 ' --- 作成. hreg = api.fnFIE_region_encode(himage, offset) Assert.IsTrue(hreg <> FHANDLE.Zero, "リージョン作成でエラー.") ' 計測用の濃淡画像を読み込む. Dim status2 As Integer = api.fnFIE_load_img_file(TestImageDir & "/TC/SampleCode/palette_UC8.png", himg, f_color_img_type.F_COLOR_IMG_TYPE_UC8) Assert.IsTrue(status2 = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status2, f_err)) ' 画像特徴量:2次濃淡モーメント. Dim pixelsumx2 As Double = 0 Dim pixelsumy2 As Double = 0 Dim pixelsumxy As Double = 0 Dim status As Integer = api.fnFIE_img_pixelmoment2(himg, hreg, pixelsumx2, pixelsumy2, pixelsumxy) Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "img_pixelmoment2でエラーが発生しました。({0})", CType(status, f_err)) ' 値の確認. Console.WriteLine("pixelsumx2={0},pixelsumy2={1},pixelsumxy={2}", pixelsumx2, pixelsumy2, pixelsumxy) Finally himage.Dispose() hreg.Dispose() himg.Dispose() End Try End Sub End Class |