Skip to content

zero_crossingZeroCrossingZeroCrossingzero_crossingzero_crossing🔗

Short description🔗

zero_crossingZeroCrossingZeroCrossingzero_crossingzero_crossing — Extract zero crossings from an image.

Signature🔗

zero_crossing( image Image, out region RegionCrossing )void ZeroCrossing( const HObject& Image, HObject* RegionCrossing )static void HOperatorSet.ZeroCrossing( HObject image, out HObject regionCrossing )def zero_crossing( image: HObject ) -> HObject

Herror zero_crossing( const Hobject Image, Hobject* RegionCrossing )

Herror T_zero_crossing( const Hobject Image, Hobject* RegionCrossing )

HRegion HImage::ZeroCrossing( ) const

HRegion HImage.ZeroCrossing( )

Description🔗

zero_crossingZeroCrossing returns the zero crossings of the input image as a region. A pixel is accepted as a zero crossing if its gray value (in Imageimageimage) 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_gaussLaplaceOfGauss), which were possibly followed by a smoothing operator. In this case, the zero crossings are (candidates for) edges.

Execution information🔗

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🔗

Imageimageimage (input_object) singlechannelimage(-array) → object (int1 / int2 / int4 / real)HObject (int1 / int2 / int4 / real)HImage (int1 / int2 / int4 / real)HObject (int1 / int2 / int4 / real)Hobject (int1 / int2 / int4 / real)

Input image.

RegionCrossingregionCrossingregion_crossing (output_object) region(-array) → objectHObjectHRegionHObjectHobject *

Zero crossings.

Result🔗

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

Combinations with other operators🔗

Combinations

Possible predecessors

laplaceLaplace, laplace_of_gaussLaplaceOfGauss, derivate_gaussDerivateGauss

Possible successors

connectionConnection, skeletonSkeleton, boundaryBoundary, select_shapeSelectShape, fill_upFillUp

Alternatives

thresholdThreshold, dual_thresholdDualThreshold, zero_crossing_sub_pixZeroCrossingSubPix

Module🔗

Foundation