KlassenKlassenKlassenKlassen | | | | Operatoren

smallest_rectangle1smallest_rectangle1SmallestRectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1 (Operator)

Name

smallest_rectangle1smallest_rectangle1SmallestRectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1 — Ermitteln des umschließenden Rechtecks parallel zu den Koordinatenachsen.

Signatur

smallest_rectangle1(Regions : : : Row1, Column1, Row2, Column2)

Herror smallest_rectangle1(const Hobject Regions, Hlong* Row1, Hlong* Column1, Hlong* Row2, Hlong* Column2)

Herror T_smallest_rectangle1(const Hobject Regions, Htuple* Row1, Htuple* Column1, Htuple* Row2, Htuple* Column2)

Herror smallest_rectangle1(Hobject Regions, Hlong* Row1, Hlong* Column1, Hlong* Row2, Hlong* Column2)

Herror smallest_rectangle1(Hobject Regions, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2)

Hlong HRegion::SmallestRectangle1(Hlong* Column1, Hlong* Row2, Hlong* Column2) const

HTuple HRegionArray::SmallestRectangle1(HTuple* Column1, HTuple* Row2, HTuple* Column2) const

void SmallestRectangle1(const HObject& Regions, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2)

void HRegion::SmallestRectangle1(HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2) const

void HRegion::SmallestRectangle1(Hlong* Row1, Hlong* Column1, Hlong* Row2, Hlong* Column2) const

void HOperatorSetX.SmallestRectangle1(
[in] IHUntypedObjectX* Regions, [out] VARIANT* Row1, [out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HRegionX.SmallestRectangle1(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

static void HOperatorSet.SmallestRectangle1(HObject regions, out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2)

void HRegion.SmallestRectangle1(out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2)

void HRegion.SmallestRectangle1(out int row1, out int column1, out int row2, out int column2)

Beschreibung

smallest_rectangle1smallest_rectangle1SmallestRectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1 berechnet das umschließende Rechteck aller Eingaberegionen (parallel zu den Koordinatenachsen). Das umschließende Rechteck wird durch die Koordinaten der Eckpunkte (Row1Row1Row1Row1Row1row1,Column1Column1Column1Column1Column1column1,Row2Row2Row2Row2Row2row2,Column2Column2Column2Column2Column2column2) beschrieben. Die Berechnung des Rechtecks basiert auf den Mittelpunktskoordinaten der Regionenpixel.

Kleinstes umschließendes achsenparalleles Rechteck einer Region. Es ist zu beachten, dass die Berechnung auf den Pixelmittelpunkten basiert.

Wird mehr als eine Region in RegionsRegionsRegionsRegionsRegionsregions übergeben, dann werden die Ergebnisse in Tupeln abgespeichert, wobei der Index eines Wertes im Tupel dem Index einer Region in der Eingabe entspricht. Bei leerer Region haben alle Parameter den Wert 0, soweit kein anderes Verhalten eingestellt wurde (siehe set_systemset_systemSetSystemset_systemSetSystemSetSystem).

Achtung

Bei leerer Region kann das Ergebnis von Row1Row1Row1Row1Row1row1,Column1Column1Column1Column1Column1column1, Row2Row2Row2Row2Row2row2 und Column2Column2Column2Column2Column2column2 (alle sind 0) zu Konfusionen führen.

Parallelisierung

Parameter

RegionsRegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Zu untersuchende Regionen.

Row1Row1Row1Row1Row1row1 (output_control)  rectangle.origin.y(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Zeilenindex des linken oberen Eckpunkts.

Column1Column1Column1Column1Column1column1 (output_control)  rectangle.origin.x(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Spaltenindex des linken oberen Eckpunkts.

Row2Row2Row2Row2Row2row2 (output_control)  rectangle.corner.y(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Zeilenindex des rechten unteren Eckpunkts.

Column2Column2Column2Column2Column2column2 (output_control)  rectangle.corner.x(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Spaltenindex des rechten unteren Eckpunkts.

Komplexität

Sei F die Fläche einer Region, dann beträgt die Laufzeitkomplexität im Mittel O(sqrt(F)).

Ergebnis

smallest_rectangle1smallest_rectangle1SmallestRectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1 liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe nicht leer ist. Das Verhalten bei leerer Eingabe (keine Eingaberegionen 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. Das Verhalten bei einer leeren Region (Region ist die leere Menge) wird mit set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>) bestimmt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

thresholdthresholdThresholdthresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionconnectionConnectionConnection, runlength_featuresrunlength_featuresRunlengthFeaturesrunlength_featuresRunlengthFeaturesRunlengthFeatures

Nachfolger

disp_rectangle1disp_rectangle1DispRectangle1disp_rectangle1DispRectangle1DispRectangle1, gen_rectangle1gen_rectangle1GenRectangle1gen_rectangle1GenRectangle1GenRectangle1

Alternativen

smallest_rectangle2smallest_rectangle2SmallestRectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter

Siehe auch

select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren