二値化手法の設定

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

Syntax

C#
public static int fnFIE_qr_set_binarize_method(
	FHANDLE fQRCObj,
	f_qr_binarize_mode mode,
	int threshold
)
Visual Basic
Public Shared Function fnFIE_qr_set_binarize_method ( 
	fQRCObj As FHANDLE,
	mode As f_qr_binarize_mode,
	threshold As Integer
) As Integer

Parameters

fQRCObj
Type: fvalgcli..::..FHANDLE
QRコードオブジェクト
mode
Type: fvalgcli..::..f_qr_binarize_mode
設定する二値化手法
threshold
Type: System..::..Int32
二値化手法別の閾値。
引数 mode によって以下のように異なります。
  • F_QR_BIN_SHIFT_AVERAGE の場合、分散閾値を設定します。 fnFIE_qr_set_minvar() で設定する数値と同一で、初期値は1000です。値域は です。
  • F_QR_BIN_SHIFT_AVERAGE_OFFSET の場合、局所領域平均値に加算する数値を設定します。20程度を推奨します。
  • F_QR_BIN_FIX の場合、二値化閾値そのものを設定します。
  • F_QR_BIN_DISCRIMINATION の場合、引数は無視されます。
  • F_QR_BIN_KITTLER の場合、引数は無視されます。

Return Value

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

エラーコード:
f_err内容
F_ERR_NONE正常終了
F_ERR_INVALID_OBJECTQRコードオブジェクトの異常
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
    {
        public void fnFIE_qr_set_binarize_method(FHANDLE hQR)
        {
            int status = (int)f_err.F_ERR_NONE;
            f_qr_binarize_mode mode = f_qr_binarize_mode.F_QR_BIN_DISCRIMINATION;
            int threshold = 0;

            try
            {
                // 設定.
                status = api.fnFIE_qr_set_binarize_method(hQR, f_qr_binarize_mode.F_QR_BIN_SHIFT_AVERAGE, 1000);
                Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status);

                // 取得.
                status = api.fnFIE_qr_get_binarize_method(hQR, ref mode, ref threshold);
                Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status);

                Assert.IsTrue(mode == f_qr_binarize_mode.F_QR_BIN_SHIFT_AVERAGE, "一致しません。(mode={0})", mode);
                Assert.IsTrue(threshold == 1000, "一致しません。(threshold={0})", threshold);
                Console.WriteLine("fnFIE_qr_set_binarize_method");
                Console.WriteLine("mode = {0}", mode);
                Console.WriteLine("threshold = {0}", threshold);
            }
            finally
            {
            }
        }
    }
}


Visual Basic Copy imageCopy
'    $Revision: 1.1 $

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

Public Partial Class FIE
    Public Sub fnFIE_qr_set_binarize_method(hQR As FHANDLE)
        Dim status As Integer = CInt(f_err.F_ERR_NONE)
        Dim mode As f_qr_binarize_mode = f_qr_binarize_mode.F_QR_BIN_DISCRIMINATION
        Dim threshold As Integer = 0

        Try
            ' 設定.
            status = api.fnFIE_qr_set_binarize_method(hQR, f_qr_binarize_mode.F_QR_BIN_SHIFT_AVERAGE, 1000)
            Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status, f_err))

            ' 取得.
            status = api.fnFIE_qr_get_binarize_method(hQR, mode, threshold)
            Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status, f_err))

            Assert.IsTrue(mode = f_qr_binarize_mode.F_QR_BIN_SHIFT_AVERAGE, "一致しません。(mode={0})", mode)
            Assert.IsTrue(threshold = 1000, "一致しません。(threshold={0})", threshold)
            Console.WriteLine("fnFIE_qr_set_binarize_method")
            Console.WriteLine("mode = {0}", mode)
            Console.WriteLine("threshold = {0}", threshold)
        Finally
        End Try
    End Sub
End Class

See Also