add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXldadd_noise_white_contour_xld添加噪声白轮廓扩展线描述(算子)

名称

add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXldadd_noise_white_contour_xld — 为扩展线描述(XLD)轮廓添加噪声。

签名

add_noise_white_contour_xld(Contours : NoisyContours : NumRegrPoints, Amp : )

Herror add_noise_white_contour_xld(const Hobject Contours, Hobject* NoisyContours, const Hlong NumRegrPoints, double Amp)

Herror T_add_noise_white_contour_xld(const Hobject Contours, Hobject* NoisyContours, const Htuple NumRegrPoints, const Htuple Amp)

void AddNoiseWhiteContourXld(const HObject& Contours, HObject* NoisyContours, const HTuple& NumRegrPoints, const HTuple& Amp)

HXLDCont HXLDCont::AddNoiseWhiteContourXld(Hlong NumRegrPoints, double Amp) const

static void HOperatorSet.AddNoiseWhiteContourXld(HObject contours, out HObject noisyContours, HTuple numRegrPoints, HTuple amp)

HXLDCont HXLDCont.AddNoiseWhiteContourXld(int numRegrPoints, double amp)

def add_noise_white_contour_xld(contours: HObject, num_regr_points: int, amp: float) -> HObject

描述

add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXldAddNoiseWhiteContourXldadd_noise_white_contour_xld 向输入 XLD 轮廓 ContoursContoursContoursContourscontourscontours 中添加白噪声,并将噪声轮廓返回至 NoisyContoursNoisyContoursNoisyContoursNoisyContoursnoisyContoursnoisy_contours。对于原始轮廓上的每个点,基于 NumRegrPointsNumRegrPointsNumRegrPointsNumRegrPointsnumRegrPointsnum_regr_points 个邻近点确定局部回归线(即最小二乘拟合线)。随后该点沿垂直于该线的方向偏移。位移长度对应白噪声,该噪声在区间 [-AmpAmpAmpAmpampamp,AmpAmpAmpAmpampamp] 内均匀分布,通过 C 函数 “drand48” 结合初始时间依赖种子生成。

执行信息

参数

ContoursContoursContoursContourscontourscontours (输入对象)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject

原始轮廓。

NoisyContoursNoisyContoursNoisyContoursNoisyContoursnoisyContoursnoisy_contours (输出对象)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject *

嘈杂的轮廓。

NumRegrPointsNumRegrPointsNumRegrPointsNumRegrPointsnumRegrPointsnum_regr_points (输入控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

用于计算回归直线的点数。

默认值: 5

建议值: 3, 5, 7, 9

限制: NumRegrPoints >= 3 && odd(NumRegrPoints)

AmpAmpAmpAmpampamp (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

添加噪声的最大振幅(在 [-Amp,Amp] 范围内均匀分布)。

默认值: 1.0

建议值: 0.25, 0.5, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 10.0

限制: Amp > 0

示例(HDevelop)

draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
gen_ellipse_contour_xld(Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319, \
                        'positive', 1.5)
add_noise_white_contour_xld(Ellipse,NoisyEllipse,5,0.5)
fit_ellipse_contour_xld (NoisyEllipse, 'fitzgibbon', -1, 2, 0, 200, 3, 2.0, \
                         ERow, EColumn, EPhi, ERadius1, ERadius2, \
                         EStartPhi, EEndPhi, EPointOrder)

示例(C)

draw_ellipse(WindowHandle,&Row,&Column,&Phi,&Radius1,&Radius2);
gen_ellipse_contour_xld(&Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319,
                        "positive",1.5);
add_noise_white_contour_xld(Ellipse,&NoisyEllipse,5,0.5);
fit_ellipse_contour_xld (NoisyEllipse, "fitzgibbon", -1, 2, 0, 200, 3, 2.0,
                         &ERow, &EColumn, &EPhi, &ERadius1, &ERadius2,
                         &EStartPhi, &EEndPhi, &EPointOrder);

示例(HDevelop)

draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
gen_ellipse_contour_xld(Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319, \
                        'positive', 1.5)
add_noise_white_contour_xld(Ellipse,NoisyEllipse,5,0.5)
fit_ellipse_contour_xld (NoisyEllipse, 'fitzgibbon', -1, 2, 0, 200, 3, 2.0, \
                         ERow, EColumn, EPhi, ERadius1, ERadius2, \
                         EStartPhi, EEndPhi, EPointOrder)

示例(HDevelop)

draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
gen_ellipse_contour_xld(Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319, \
                        'positive', 1.5)
add_noise_white_contour_xld(Ellipse,NoisyEllipse,5,0.5)
fit_ellipse_contour_xld (NoisyEllipse, 'fitzgibbon', -1, 2, 0, 200, 3, 2.0, \
                         ERow, EColumn, EPhi, ERadius1, ERadius2, \
                         EStartPhi, EEndPhi, EPointOrder)

示例(HDevelop)

draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
gen_ellipse_contour_xld(Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319, \
                        'positive', 1.5)
add_noise_white_contour_xld(Ellipse,NoisyEllipse,5,0.5)
fit_ellipse_contour_xld (NoisyEllipse, 'fitzgibbon', -1, 2, 0, 200, 3, 2.0, \
                         ERow, EColumn, EPhi, ERadius1, ERadius2, \
                         EStartPhi, EEndPhi, EPointOrder)

结果

add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXldAddNoiseWhiteContourXldadd_noise_white_contour_xld 在所有参数值正确时返回 2 ( H_MSG_TRUE )。如果输入为空时,可设置行为通过算子 set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)。如有必要,则抛出异常。

可能的前趋

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld, lines_gausslines_gaussLinesGaussLinesGaussLinesGausslines_gauss, lines_facetlines_facetLinesFacetLinesFacetLinesFacetlines_facet, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPixedges_sub_pix, gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXldGenEllipseContourXldgen_ellipse_contour_xld

可能的后继

smooth_contours_xldsmooth_contours_xldSmoothContoursXldSmoothContoursXldSmoothContoursXldsmooth_contours_xld

另见

smooth_contours_xldsmooth_contours_xldSmoothContoursXldSmoothContoursXldSmoothContoursXldsmooth_contours_xld, add_noise_whiteadd_noise_whiteAddNoiseWhiteAddNoiseWhiteAddNoiseWhiteadd_noise_white

模块

基础