Name
add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXld — Verrauschen von XLD-Konturen.
add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXld erzeugt aus den Konturen, die in
ContoursContoursContoursContoursContourscontours übergeben werden, neue Konturen
NoisyContoursNoisyContoursNoisyContoursNoisyContoursNoisyContoursnoisyContours mit verrauschten Konturpunkten.
Dazu wird für jeden Konturpunkt der Eingabekonturen die lokale
Regressionsgeraden aus den NumRegrPointsNumRegrPointsNumRegrPointsNumRegrPointsNumRegrPointsnumRegrPoints
benachbarten Punkten bestimmt. Dann wird der Punkt senkrecht zur
Regressionsgeraden verschoben. Der Betrag dieser Verschiebung
entspricht gleichverteiltem, mittelwertfreiem, weißem Rauschen
mit maximaler Amplitude AmpAmpAmpAmpAmpamp,
das mittels der C-Funktion „drand48“ mit zeitabhängigem Seed generiert
wird.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Zu verrauschende Konturen.
Anzahl der für die Regressionsgerade
verwendeten Punkte.
Defaultwert: 5
Wertevorschläge: 3, 5, 7, 9
Restriktion: NumRegrPoints >= 3 && odd(NumRegrPoints)
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
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)
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);
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)
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)
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)
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)
Sind die Parameterwerte korrekt, dann liefert
add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXld 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>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld,
lines_gausslines_gaussLinesGausslines_gaussLinesGaussLinesGauss,
lines_facetlines_facetLinesFacetlines_facetLinesFacetLinesFacet,
edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix,
gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXld
smooth_contours_xldsmooth_contours_xldSmoothContoursXldsmooth_contours_xldSmoothContoursXldSmoothContoursXld
smooth_contours_xldsmooth_contours_xldSmoothContoursXldsmooth_contours_xldSmoothContoursXldSmoothContoursXld,
add_noise_whiteadd_noise_whiteAddNoiseWhiteadd_noise_whiteAddNoiseWhiteAddNoiseWhite
Foundation