closing_circleclosing_circleClosingCircleClosingCircle (Operator)

Name

closing_circleclosing_circleClosingCircleClosingCircle — Ausführen eines Closings mit einer Kreismaske.

Signatur

closing_circle(Region : RegionClosing : Radius : )

Herror closing_circle(const Hobject Region, Hobject* RegionClosing, double Radius)

Herror T_closing_circle(const Hobject Region, Hobject* RegionClosing, const Htuple Radius)

void ClosingCircle(const HObject& Region, HObject* RegionClosing, const HTuple& Radius)

HRegion HRegion::ClosingCircle(const HTuple& Radius) const

HRegion HRegion::ClosingCircle(double Radius) const

static void HOperatorSet.ClosingCircle(HObject region, out HObject regionClosing, HTuple radius)

HRegion HRegion.ClosingCircle(HTuple radius)

HRegion HRegion.ClosingCircle(double radius)

Beschreibung

Das Funktionsverhalten von closing_circleclosing_circleClosingCircleClosingCircleClosingCircle ist analog zu closingclosingClosingClosingClosing d.h. es werden die Ränder einer Eingaberegion geglättet und Löcher innerhalb einer Region deren Größe kleiner ist als das kreisförmige, strukturierende Element mit dem RadiusRadiusRadiusRadiusradius, geschlossen. Die closing_circleclosing_circleClosingCircleClosingCircleClosingCircle-Operation ist als die Hintereinanderschaltung von Dilatation und Minkowski-Subtraktion mit einer Kreismaske definiert.

Achtung

closing_circleclosing_circleClosingCircleClosingCircleClosingCircle wird für jede Region einzeln angewandt. Sollen Lücken zwischen den Regionen geschlossen werden, dann muss vorher ein union1union1Union1Union1Union1 oder union2union2Union2Union2Union2 ausgeführt werden.

Ausführungsinformationen

Parameter

RegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHobject

Regionen auf die der Closing-Operator angewandt wird.

RegionClosingRegionClosingRegionClosingRegionClosingregionClosing (output_object)  region(-array) objectHRegionHRegionHobject *

Regionen mit aufgefüllten Lücken.

RadiusRadiusRadiusRadiusradius (input_control)  real HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Radius der Kreismaske.

Defaultwert: 3.5

Wertevorschläge: 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 12.5, 15.5, 19.5, 25.5, 33.5, 45.5, 60.5, 110.5

Typischer Wertebereich: 0.5 ≤ Radius Radius Radius Radius radius ≤ 511.5 (lin)

Minimale Schrittweite: 1.0

Empfohlene Schrittweite: 1.0

Beispiel (C)

my_closing_circle(Hobject In, double Radius, Hobject *Out)
{
  Hobject  tmp, StructElement;
  gen_circle(StructElement,100.0,100.0,Radius);
  dilation1(In,StructElement,&tmp,1);
  minkowski_sub1(tmp,StructElement,Out,1);
}

Komplexität

Sei F1 die Fläche einer Eingaberegion, dann ist die Laufzeitkomplexität für eine Region:

Ergebnis

Bei korrekter Parametrisierung liefert die Funktion closing_circleclosing_circleClosingCircleClosingCircleClosingCircle den Wert 2 (H_MSG_TRUE). Das Funktionsverhalten für die beiden Fälle leere und keine Eingaberegion lässt sich wie folgt kontrollieren:

Andernfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

thresholdthresholdThresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionConnectionConnection, union1union1Union1Union1Union1, watershedswatershedsWatershedsWatershedsWatersheds, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm

Nachfolger

reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, select_shapeselect_shapeSelectShapeSelectShapeSelectShape, area_centerarea_centerAreaCenterAreaCenterAreaCenter, connectionconnectionConnectionConnectionConnection

Alternativen

rank_regionrank_regionRankRegionRankRegionRankRegion, fill_upfill_upFillUpFillUpFillUp, closingclosingClosingClosingClosing

Siehe auch

dilation1dilation1Dilation1Dilation1Dilation1, minkowski_sub1minkowski_sub1MinkowskiSub1MinkowskiSub1MinkowskiSub1, erosion1erosion1Erosion1Erosion1Erosion1, openingopeningOpeningOpeningOpening

Modul

Foundation