平均値画像作成

Namespace: fvalgcli
Assembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)

Syntax

C#
public static int fnFIE_stats_img_average(
	FHANDLE[] himgs,
	int num_imgs,
	ref FHANDLE himg_average,
	f_imgtype dst_img_type
)
Visual Basic
Public Shared Function fnFIE_stats_img_average ( 
	himgs As FHANDLE(),
	num_imgs As Integer,
	ByRef himg_average As FHANDLE,
	dst_img_type As f_imgtype
) As Integer

Parameters

himgs
Type: array<fvalgcli..::..FHANDLE>[]()[][]
複数の画像オブジェクト格納配列(type: uc8, s16, us16, double ) himgs に格納される画像は全て同じサイズ、同じ画像タイプで、さらにチャネル数が1でなければなりません。
num_imgs
Type: System..::..Int32
himg に格納された画像オブジェクトの数(2≦num_imgs≦65535)
himg_average
Type: fvalgcli..::..FHANDLE%
生成した結果画像オブジェクト。*himg_average は必ず IntPtr.Zeroで初期化しなければなりません。
dst_img_type
Type: fvalgcli..::..f_imgtype
出力画像タイプの指定。入力画像オブジェクトと同じ画像タイプ、もしくは F_IMG_DOUBLE のみの対応です。

Return Value

Type: Int32
以下のエラーコードを返します。

エラーコード:
f_err内容
F_ERR_NONE正常終了
F_ERR_NOMEMORYメモリ不足エラー
F_ERR_INVALID_IMAGE画像オブジェクトの異常
F_ERR_INVALID_PARAMパラメータ異常
F_ERR_NO_LICENCEライセンスエラー

Remarks

Examples

C# Copy imageCopy
//    $Revision: 1.1 $

using System;
using System.Collections.Generic;
using System.Text;
using fvalgcli;

namespace TC
{
    public partial class FIE
    {
        [FvPluginExecute]
        public void fnFIE_stats_img_average()
        {
            int status = (int)f_err.F_ERR_NONE;

            FHANDLE[] himgs = new FHANDLE[5];    // 処理画像.
            FHANDLE hdst = FHANDLE.Zero;        // 出力画像.

            try
            {
                // 入力画像ファイルのロード.
                for (int i = 0; i < himgs.Length; i++)
                {
                    string filename = TestImageDir + string.Format("/testdata/stats_{0:000}.bmp", i + 1);
                    api.fnFIE_load_img_file(filename, ref himgs[i], f_color_img_type.F_COLOR_IMG_TYPE_UC8);
                }

                // 処理の実行.
                status = api.fnFIE_stats_img_average(himgs, himgs.Length, ref hdst, f_imgtype.F_IMG_UC8);

                // エラー判定.
                Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status);

                // 出力画像の保存.
                api.fnFIE_save_png(ResultDir + "/fnFIE_stats_img_average.png", hdst, -1);
            }
            finally
            {
                // オブジェクトの開放.
                for (int i = 0; i < himgs.Length; i++)
                    himgs[i].Dispose();
                hdst.Dispose();
            }
        }
    }
}


Visual Basic Copy imageCopy
'    $Revision: 1.1 $

Imports System.Collections.Generic
Imports System.Text
Imports fvalgcli

Public Partial Class FIE
    <FvPluginExecute> _
    Public Sub fnFIE_stats_img_average()
        Dim status As Integer = CInt(f_err.F_ERR_NONE)

        Dim himgs As FHANDLE() = New FHANDLE(4) {}
        ' 処理画像.
        Dim hdst As FHANDLE = FHANDLE.Zero
        ' 出力画像.
        Try
            ' 入力画像ファイルのロード.
            For i As Integer = 0 To himgs.Length - 1
                Dim filename As String = TestImageDir & String.Format("/testdata/stats_{0:000}.bmp", i + 1)
                api.fnFIE_load_img_file(filename, himgs(i), f_color_img_type.F_COLOR_IMG_TYPE_UC8)
            Next

            ' 処理の実行.
            status = api.fnFIE_stats_img_average(himgs, himgs.Length, hdst, f_imgtype.F_IMG_UC8)

            ' エラー判定.
            Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status, f_err))

            ' 出力画像の保存.
            api.fnFIE_save_png(ResultDir & "/fnFIE_stats_img_average.png", hdst, -1)
        Finally
            ' オブジェクトの開放.
            For i As Integer = 0 To himgs.Length - 1
                himgs(i).Dispose()
            Next
            hdst.Dispose()
        End Try
    End Sub
End Class

See Also