バーコード認識処理時間の取得

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

Syntax

C#
public static int fnFIE_barcode_query_timings(
	FHANDLE fBOObj,
	ref double pdImageBinarizationTime,
	ref double pdBlobsExtractionTime,
	ref double pdBlobsSelectionTime,
	ref double pdSignalExtractionTime,
	ref double pdBarcodeDecodingTime,
	ref double pdTotalDecodingTime
)
Visual Basic
Public Shared Function fnFIE_barcode_query_timings ( 
	fBOObj As FHANDLE,
	ByRef pdImageBinarizationTime As Double,
	ByRef pdBlobsExtractionTime As Double,
	ByRef pdBlobsSelectionTime As Double,
	ByRef pdSignalExtractionTime As Double,
	ByRef pdBarcodeDecodingTime As Double,
	ByRef pdTotalDecodingTime As Double
) As Integer

Parameters

fBOObj
Type: fvalgcli..::..FHANDLE
バーコードオブジェクトのハンドル
pdImageBinarizationTime
Type: System..::..Double%
2値化処理時間(ms)
pdBlobsExtractionTime
Type: System..::..Double%
2値画像からの塊抽出処理時間(ms)
pdBlobsSelectionTime
Type: System..::..Double%
抽出した塊の選別処理時間(ms)
pdSignalExtractionTime
Type: System..::..Double%
選別後の塊からバーコードの認識時間(ms)
pdBarcodeDecodingTime
Type: System..::..Double%
バーコードの認識処理時間(ms)
pdTotalDecodingTime
Type: System..::..Double%
トータル処理時間(ms)

Return Value

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

エラーコード:
f_err内容
F_ERR_NONE正常終了
F_ERR_INVALID_OBJECT 不正なオブジェクトハンドルが渡されたため、異常終了。
F_ERR_NO_LICENCEライセンスエラー、または未初期化エラー

Remarks

Examples

C# Copy imageCopy
//    $Revision: 1.2 $

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

namespace TC
{
    public partial class FIE
    {
        [FvPluginExecute]
        public void fnFIE_barcode_query_timings()
        {
            string filepath = TestImageDir + "/testdata/barcode1d_code39_2.6_1.bmp";

            int status = (int)f_err.F_ERR_NONE;
            FHANDLE hImage = FHANDLE.Zero;
            FHANDLE hBarcode = FHANDLE.Zero;

            try
            {
                api.fnFIE_load_bmp(filepath, ref hImage, f_color_img_type.F_COLOR_IMG_TYPE_UC8);

                // バーコードオブジェクト生成.
                status = api.fnFIE_barcode_alloc_obj(ref hBarcode, 4);
                Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_barcode_alloc_obj: エラーが発生しました。({0})", (f_err)status);

                // バーコード認識の実行.
                status = api.fnFIE_barcode_execute(hImage, hBarcode);
                Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_barcode_execute: エラーが発生しました。({0})", (f_err)status);
                Console.WriteLine("fnFIE_barcode_execute");

                // バーコード認識数の取得.
                int iNoOfBarcodes = 0;
                api.fnFIE_barcode_query_num(hBarcode, ref iNoOfBarcodes);
                Console.WriteLine("query_num={0}", iNoOfBarcodes);

                // バーコード認識処理時間の取得.
                for (int i = 0; i < iNoOfBarcodes; i++)
                {
                    double pdImageBinarizationTime = 0;
                    double pdBlobsExtractionTime = 0;
                    double pdBlobsSelectionTime = 0;
                    double pdSignalExtractionTime = 0;
                    double pdBarcodeDecodingTime = 0;
                    double pdTotalDecodingTime = 0;

                    status = api.fnFIE_barcode_query_timings(
                            hBarcode,
                            ref pdImageBinarizationTime,
                            ref pdBlobsExtractionTime,
                            ref pdBlobsSelectionTime,
                            ref pdSignalExtractionTime,
                            ref pdBarcodeDecodingTime,
                            ref pdTotalDecodingTime
                        );
                    Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_barcode_add_offsets: エラーが発生しました。({0})", (f_err)status);

                    Console.WriteLine("image_binarization_time({0})={1}", i, pdImageBinarizationTime);
                    Console.WriteLine("blobs_extraction_time({0})={1}", i, pdBlobsExtractionTime);
                    Console.WriteLine("blobs_selection_time({0})={1}", i, pdBlobsSelectionTime);
                    Console.WriteLine("signal_extraction_time({0})={1}", i, pdSignalExtractionTime);
                    Console.WriteLine("barcode_decoding_time({0})={1}", i, pdBarcodeDecodingTime);
                    Console.WriteLine("total_decoding_time({0})={1}", i, pdTotalDecodingTime);
                }
            }
            finally
            {
                hImage.Dispose();
                hBarcode.Dispose();
            }
        }
    }
}


Visual Basic Copy imageCopy
'    $Revision: 1.2 $

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

Public Partial Class FIE
    <FvPluginExecute> _
    Public Sub fnFIE_barcode_query_timings()
        Dim filepath As String = TestImageDir & "/testdata/barcode1d_code39_2.6_1.bmp"

        Dim status As Integer = CInt(f_err.F_ERR_NONE)
        Dim hImage As FHANDLE = FHANDLE.Zero
        Dim hBarcode As FHANDLE = FHANDLE.Zero

        Try
            api.fnFIE_load_bmp(filepath, hImage, f_color_img_type.F_COLOR_IMG_TYPE_UC8)

            ' バーコードオブジェクト生成.
            status = api.fnFIE_barcode_alloc_obj(hBarcode, 4)
            Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_barcode_alloc_obj: エラーが発生しました。({0})", CType(status, f_err))

            ' バーコード認識の実行.
            status = api.fnFIE_barcode_execute(hImage, hBarcode)
            Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_barcode_execute: エラーが発生しました。({0})", CType(status, f_err))
            Console.WriteLine("fnFIE_barcode_execute")

            ' バーコード認識数の取得.
            Dim iNoOfBarcodes As Integer = 0
            api.fnFIE_barcode_query_num(hBarcode, iNoOfBarcodes)
            Console.WriteLine("query_num={0}", iNoOfBarcodes)

            ' バーコード認識処理時間の取得.
            For i As Integer = 0 To iNoOfBarcodes - 1
                Dim pdImageBinarizationTime As Double = 0
                Dim pdBlobsExtractionTime As Double = 0
                Dim pdBlobsSelectionTime As Double = 0
                Dim pdSignalExtractionTime As Double = 0
                Dim pdBarcodeDecodingTime As Double = 0
                Dim pdTotalDecodingTime As Double = 0

                status = api.fnFIE_barcode_query_timings(hBarcode, pdImageBinarizationTime, pdBlobsExtractionTime, pdBlobsSelectionTime, pdSignalExtractionTime, pdBarcodeDecodingTime, _
                    pdTotalDecodingTime)
                Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_barcode_add_offsets: エラーが発生しました。({0})", CType(status, f_err))

                Console.WriteLine("image_binarization_time({0})={1}", i, pdImageBinarizationTime)
                Console.WriteLine("blobs_extraction_time({0})={1}", i, pdBlobsExtractionTime)
                Console.WriteLine("blobs_selection_time({0})={1}", i, pdBlobsSelectionTime)
                Console.WriteLine("signal_extraction_time({0})={1}", i, pdSignalExtractionTime)
                Console.WriteLine("barcode_decoding_time({0})={1}", i, pdBarcodeDecodingTime)
                Console.WriteLine("total_decoding_time({0})={1}", i, pdTotalDecodingTime)
            Next
        Finally
            hImage.Dispose()
            hBarcode.Dispose()
        End Try
    End Sub
End Class

See Also