直線係数を最小自乗法で求め直す(実数型エッジ点群)

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

Syntax

C#
public static int fnFIE_hough_lines_refine_line_d(
	ref F_LH_LINE line,
	F_DEDGE_PTR edges,
	int edge_num,
	double err_r,
	double err_q,
	ref int pnt_num
)
Visual Basic
Public Shared Function fnFIE_hough_lines_refine_line_d ( 
	ByRef line As F_LH_LINE,
	edges As F_DEDGE_PTR,
	edge_num As Integer,
	err_r As Double,
	err_q As Double,
	ByRef pnt_num As Integer
) As Integer

Parameters

line
Type: fvalgcli..::..F_LH_LINE%
直線係数
edges
Type: fvalgcli..::..F_DEDGE_PTR
エッジ点群(エッジ勾配方向、強度共に必要なし)
edge_num
Type: System..::..Int32
エッジ点( edges )の数
err_r
Type: System..::..Double
ρ方向許容誤差(0以上, 単位:ピクセル)
err_q
Type: System..::..Double
θ方向許容誤差(0以上, 単位:度)
pnt_num
Type: System..::..Int32%
直線の上にあるエッジ点の数

Return Value

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

エラーコード:
f_err内容
F_ERR_NONE正常終了
F_ERR_NOMEMORYメモリ不足エラー
F_ERR_INVALID_PARAM 不正なパラメータが渡された
F_ERR_CALC_IMPOSSIBLE 直線の係数が不定となるようなデータが与えられたための異常終了
F_ERR_CALC_OVERFLOW 計算の途中でオーバーフローが起こったための異常終了
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_hough_lines_refine_line_d(ref F_LH_LINE ans_line, F_DEDGE_PTR edges, int edge_num, double err_r, double err_q, ref int pnt_num)
        {
            try
            {
                int status = api.fnFIE_hough_lines_refine_line_d(ref ans_line, edges, edge_num, err_r, err_q, ref pnt_num);
                Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_hough_refine_line_d: エラーが発生しました。({0})", (f_err)status);
                Console.WriteLine("fnFIE_hough_lines_refine_line_d");
                Console.WriteLine("pnt_num={0}", pnt_num);
            }
            finally
            {
            }
        }
    }
}


Visual Basic Copy imageCopy
'    $Revision: 1.1 $

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

Public Partial Class FIE
    Public Sub fnFIE_hough_lines_refine_line_d(ByRef ans_line As F_LH_LINE, edges As F_DEDGE_PTR, edge_num As Integer, err_r As Double, err_q As Double, ByRef pnt_num As Integer)
        Try
            Dim status As Integer = api.fnFIE_hough_lines_refine_line_d(ans_line, edges, edge_num, err_r, err_q, pnt_num)
            Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_hough_refine_line_d: エラーが発生しました。({0})", CType(status, f_err))
            Console.WriteLine("fnFIE_hough_lines_refine_line_d")
            Console.WriteLine("pnt_num={0}", pnt_num)
        Finally
        End Try
    End Sub
End Class

See Also