elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGray (Operator)
Name
elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGray
— Berechnung der Orientierung und der Hauptachsen von Regionen in
Grauwertbildern.
Signatur
Herror elliptic_axis_gray(const Hobject Regions, const Hobject Image, double* Ra, double* Rb, double* Phi)
Herror T_elliptic_axis_gray(const Hobject Regions, const Hobject Image, Htuple* Ra, Htuple* Rb, Htuple* Phi)
void EllipticAxisGray(const HObject& Regions, const HObject& Image, HTuple* Ra, HTuple* Rb, HTuple* Phi)
HTuple HImage::EllipticAxisGray(const HRegion& Regions, HTuple* Rb, HTuple* Phi) const
double HImage::EllipticAxisGray(const HRegion& Regions, double* Rb, double* Phi) const
HTuple HRegion::EllipticAxisGray(const HImage& Image, HTuple* Rb, HTuple* Phi) const
double HRegion::EllipticAxisGray(const HImage& Image, double* Rb, double* Phi) const
static void HOperatorSet.EllipticAxisGray(HObject regions, HObject image, out HTuple ra, out HTuple rb, out HTuple phi)
HTuple HImage.EllipticAxisGray(HRegion regions, out HTuple rb, out HTuple phi)
double HImage.EllipticAxisGray(HRegion regions, out double rb, out double phi)
HTuple HRegion.EllipticAxisGray(HImage image, out HTuple rb, out HTuple phi)
double HRegion.EllipticAxisGray(HImage image, out double rb, out double phi)
Beschreibung
elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGrayEllipticAxisGray
berechnet die Hauptachsen und die
Orientierung der Ellipse, die die „gleiche Orientierung“ und das
“gleiche Seitenverhältnis“ wie die Eingaberegion haben. Es
können auch mehrere Eingaberegionen als Tupel in RegionsRegionsRegionsRegionsregions
übergeben werden. Es wird die Länge der großen Halbachse
RaRaRaRara
und der kleinen Halbachse RbRbRbRbrb
sowie die
Orientierung der großen Halbachse bezüglich der x-Achse
(PhiPhiPhiPhiphi
) bestimmt. Der Winkel wird dabei im Bogenmaß
angegeben. Die Berechnung erfolgt dabei analog zu
elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxis
, nur dass hier Grauwertmomente verwendet
werden, die durch das Eingabebild ImageImageImageImageimage
definiert werden.
Zur Definition der Grauwertmomente siehe area_center_grayarea_center_grayAreaCenterGrayAreaCenterGrayAreaCenterGray
.
In dem Fall, dass das Grauwertvolumen der Ellipse Null ist, sind die
Ellipsenparameter RaRaRaRara
, RbRbRbRbrb
und PhiPhiPhiPhiphi
ebenfalls Null.
Achtung
Der Operator elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGrayEllipticAxisGray
berücksichtigt nur die mittels
RegionsRegionsRegionsRegionsregions
übergebenen Regionen und ignoriert jede Domäne, die zuvor
für das Eingabebild ImageImageImageImageimage
festgelegt wurde.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
Parameter
RegionsRegionsRegionsRegionsregions
(input_object) region(-array) →
objectHRegionHRegionHobject
Zu untersuchende Region(en).
ImageImageImageImageimage
(input_object) singlechannelimage →
objectHImageHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real)
Grauwertdaten.
RaRaRaRara
(output_control) real(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Große Halbachse der Region.
RbRbRbRbrb
(output_control) real(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Kleine Halbachse der Region.
PhiPhiPhiPhiphi
(output_control) angle.rad(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Winkel zwischen der großen Halbachse und der x-Achse.
Ergebnis
Sind die Parameterwerte korrekt und tritt kein Fehler während der
Berechnung auf, liefert elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGrayEllipticAxisGray
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
thresholdthresholdThresholdThresholdThreshold
,
regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing
,
connectionconnectionConnectionConnectionConnection
Nachfolger
gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipse
Alternativen
elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxis
Siehe auch
area_center_grayarea_center_grayAreaCenterGrayAreaCenterGrayAreaCenterGray
Modul
Foundation