Operator Reference

zero_crossingzero_crossingZeroCrossingZeroCrossingzero_crossing (Operator)

zero_crossingzero_crossingZeroCrossingZeroCrossingzero_crossing — Extract zero crossings from an image.

Signature

zero_crossing(Image : RegionCrossing : : )

Herror zero_crossing(const Hobject Image, Hobject* RegionCrossing)

Herror T_zero_crossing(const Hobject Image, Hobject* RegionCrossing)

void ZeroCrossing(const HObject& Image, HObject* RegionCrossing)

HRegion HImage::ZeroCrossing() const

static void HOperatorSet.ZeroCrossing(HObject image, out HObject regionCrossing)

HRegion HImage.ZeroCrossing()

def zero_crossing(image: HObject) -> HObject

Description

zero_crossingzero_crossingZeroCrossingZeroCrossingzero_crossing returns the zero crossings of the input image as a region. A pixel is accepted as a zero crossing if its gray value (in ImageImageImageimageimage) is zero, or if at least one of its neighbors of the 4-neighborhood has a different sign.

This operator is intended to be used after edge operators returning the second derivative of the image (e.g., laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGausslaplace_of_gauss), which were possibly followed by a smoothing operator. In this case, the zero crossings are (candidates for) edges.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Automatically parallelized on tuple level.
  • Automatically parallelized on domain level.

Parameters

ImageImageImageimageimage (input_object)  singlechannelimage(-array) objectHImageHObjectHObjectHobject (int1 / int2 / int4 / real)

Input image.

RegionCrossingRegionCrossingRegionCrossingregionCrossingregion_crossing (output_object)  region(-array) objectHRegionHObjectHObjectHobject *

Zero crossings.

Result

zero_crossingzero_crossingZeroCrossingZeroCrossingzero_crossing usually returns the value 2 ( H_MSG_TRUE) . If necessary, an exception is raised.

Possible Predecessors

laplacelaplaceLaplaceLaplacelaplace, laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGausslaplace_of_gauss, derivate_gaussderivate_gaussDerivateGaussDerivateGaussderivate_gauss

Possible Successors

connectionconnectionConnectionConnectionconnection, skeletonskeletonSkeletonSkeletonskeleton, boundaryboundaryBoundaryBoundaryboundary, select_shapeselect_shapeSelectShapeSelectShapeselect_shape, fill_upfill_upFillUpFillUpfill_up

Alternatives

thresholdthresholdThresholdThresholdthreshold, dual_thresholddual_thresholdDualThresholdDualThresholddual_threshold, zero_crossing_sub_pixzero_crossing_sub_pixZeroCrossingSubPixZeroCrossingSubPixzero_crossing_sub_pix

Module

Foundation