HALCON Reference Manual 10.0.2
Table of Contents / Morphology / Region ClassesClassesClasses | | | Operators

closing_circleclosing_circleclosing_circleClosingCircleClosingCircle (Operator)

Name

closing_circleclosing_circleclosing_circleClosingCircleClosingCircle — Close a region with a circular structuring element.

Signature

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)

Herror closing_circle(Hobject Region, Hobject* RegionClosing, const HTuple& Radius)

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

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

void HOperatorSetX.ClosingCircle(
[in] IHUntypedObjectX* Region, [out] IHUntypedObjectX*RegionClosing, [in] VARIANT Radius)

IHRegionX* HRegionX.ClosingCircle([in] VARIANT Radius)

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

HRegion HRegion.ClosingCircle(HTuple radius)

HRegion HRegion.ClosingCircle(double radius)

Description

closing_circleclosing_circleclosing_circleClosingCircleClosingCircle behaves analogously to closingclosingclosingClosingClosing, i.e., the regions' boundaries are smoothed and holes within a region which are smaller than the circular structuring element of radius RadiusRadiusRadiusRadiusradius are closed. The closing_circleclosing_circleclosing_circleClosingCircleClosingCircle operation is defined as a dilation followed by a Minkowski subtraction, both with the same circular structuring element.

Attention

closing_circleclosing_circleclosing_circleClosingCircleClosingCircle is applied to each input region separately. If gaps between different regions are to be closed, union1union1union1Union1Union1 or union2union2union2Union2Union2 has to be called first.

Parallelization

Parameters

RegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHRegionXHobject

Regions to be closed.

RegionClosingRegionClosingRegionClosingRegionClosingregionClosing (output_object)  region(-array) objectHRegionHRegionHRegionXHobject *

Closed regions.

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

Radius of the circular structuring element.

Default value: 3.5

Suggested values: 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

Typical range of values: 0.5 ≤ Radius Radius Radius Radius radius ≤ 511.5 (lin)

Minimum increment: 1.0

Recommended increment: 1.0

Example (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);
  clear_obj(tmp); clear_obj(StructElement);
}

Complexity

Let F1 be the area of the input region. Then the runtime complexity for one region is:

    O(4 * sqrt(F1) * Radius) .

Result

closing_circleclosing_circleclosing_circleClosingCircleClosingCircle returns 2 (H_MSG_TRUE) if all parameters are correct. The behavior in case of empty or no input region can be set via:

Otherwise, an exception is raised.

Possible Predecessors

thresholdthresholdthresholdThresholdThreshold, regiongrowingregiongrowingregiongrowingRegiongrowingRegiongrowing, connectionconnectionconnectionConnectionConnection, union1union1union1Union1Union1, watershedswatershedswatershedsWatershedsWatersheds, class_ndim_normclass_ndim_normclass_ndim_normClassNdimNormClassNdimNorm

Possible Successors

reduce_domainreduce_domainreduce_domainReduceDomainReduceDomain, select_shapeselect_shapeselect_shapeSelectShapeSelectShape, area_centerarea_centerarea_centerAreaCenterAreaCenter, connectionconnectionconnectionConnectionConnection

Alternatives

rank_regionrank_regionrank_regionRankRegionRankRegion, fill_upfill_upfill_upFillUpFillUp, closingclosingclosingClosingClosing, closing_circleclosing_circleclosing_circleClosingCircleClosingCircle, closing_golayclosing_golayclosing_golayClosingGolayClosingGolay

See also

dilation1dilation1dilation1Dilation1Dilation1, minkowski_sub1minkowski_sub1minkowski_sub1MinkowskiSub1MinkowskiSub1, erosion1erosion1erosion1Erosion1Erosion1, openingopeningopeningOpeningOpening

Module

Foundation


Table of Contents / Morphology / Region ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH