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_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
模块
基础