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
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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