add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXld (Operator)

Name

add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXld — Verrauschen von XLD-Konturen.

Signatur

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)

Beschreibung

add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXldAddNoiseWhiteContourXld erzeugt aus den Konturen, die in ContoursContoursContoursContourscontours übergeben werden, neue Konturen NoisyContoursNoisyContoursNoisyContoursNoisyContoursnoisyContours mit verrauschten Konturpunkten. Dazu wird für jeden Konturpunkt der Eingabekonturen die lokale Regressionsgeraden aus den NumRegrPointsNumRegrPointsNumRegrPointsNumRegrPointsnumRegrPoints benachbarten Punkten bestimmt. Dann wird der Punkt senkrecht zur Regressionsgeraden verschoben. Der Betrag dieser Verschiebung entspricht gleichverteiltem, mittelwertfreiem, weißem Rauschen mit maximaler Amplitude AmpAmpAmpAmpamp, das mittels der C-Funktion „drand48“ mit zeitabhängigem Seed generiert wird.

Ausführungsinformationen

Parameter

ContoursContoursContoursContourscontours (input_object)  xld_cont(-array) objectHXLDContHXLDContHobject

Zu verrauschende Konturen.

NoisyContoursNoisyContoursNoisyContoursNoisyContoursnoisyContours (output_object)  xld_cont(-array) objectHXLDContHXLDContHobject *

Verrauschte Konturen.

NumRegrPointsNumRegrPointsNumRegrPointsNumRegrPointsnumRegrPoints (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl der für die Regressionsgerade verwendeten Punkte.

Defaultwert: 5

Wertevorschläge: 3, 5, 7, 9

Restriktion: NumRegrPoints >= 3 && odd(NumRegrPoints)

AmpAmpAmpAmpamp (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

Maximale Amplitude des additiven Rauschens (in [-Amp,Amp] gleichverteilt).

Defaultwert: 1.0

Wertevorschläge: 0.25, 0.5, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 10.0

Restriktion: Amp > 0

Beispiel (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)

Beispiel (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);

Beispiel (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)

Beispiel (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)

Beispiel (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)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXldAddNoiseWhiteContourXld den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt sich mittels 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>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXld, lines_gausslines_gaussLinesGaussLinesGaussLinesGauss, lines_facetlines_facetLinesFacetLinesFacetLinesFacet, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPix, gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXldGenEllipseContourXld

Nachfolger

smooth_contours_xldsmooth_contours_xldSmoothContoursXldSmoothContoursXldSmoothContoursXld

Siehe auch

smooth_contours_xldsmooth_contours_xldSmoothContoursXldSmoothContoursXldSmoothContoursXld, add_noise_whiteadd_noise_whiteAddNoiseWhiteAddNoiseWhiteAddNoiseWhite

Modul

Foundation