Operator Reference

prewitt_ampprewitt_ampPrewittAmpPrewittAmpprewitt_amp (Operator)

prewitt_ampprewitt_ampPrewittAmpPrewittAmpprewitt_amp — Detect edges (amplitude) using the Prewitt operator.

Signature

prewitt_amp(Image : ImageEdgeAmp : : )

Herror prewitt_amp(const Hobject Image, Hobject* ImageEdgeAmp)

Herror T_prewitt_amp(const Hobject Image, Hobject* ImageEdgeAmp)

void PrewittAmp(const HObject& Image, HObject* ImageEdgeAmp)

HImage HImage::PrewittAmp() const

static void HOperatorSet.PrewittAmp(HObject image, out HObject imageEdgeAmp)

HImage HImage.PrewittAmp()

def prewitt_amp(image: HObject) -> HObject

Description

prewitt_ampprewitt_ampPrewittAmpPrewittAmpprewitt_amp calculates an approximation of the first derivative of the image data and is used as an edge detector. The filter is based on the following filter masks: A = 1 1 1 0 0 0 -1 -1 -1 B = 1 0 -1 1 0 -1 1 0 -1 The result image contains the maximum response of the masks A and B.

Attention

Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter Filters.

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 channel level.
  • Automatically parallelized on domain level.

Parameters

ImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject (byte / int2 / uint2)

Input image.

ImageEdgeAmpImageEdgeAmpImageEdgeAmpimageEdgeAmpimage_edge_amp (output_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject * (byte / int2 / uint2)

Edge amplitude (gradient magnitude) image.

Example (HDevelop)

read_image(Image,'fabrik')
prewitt_amp(Image,Prewitt)
threshold(Prewitt,Edges,128,255)

Example (C)

read_image(&Image,"fabrik");
prewitt_amp(Image,&Prewitt);
threshold(Prewitt,&Edges,128,255);

Example (HDevelop)

read_image(Image,'fabrik')
prewitt_amp(Image,Prewitt)
threshold(Prewitt,Edges,128,255)

Example (HDevelop)

read_image(Image,'fabrik')
prewitt_amp(Image,Prewitt)
threshold(Prewitt,Edges,128,255)

Result

prewitt_ampprewitt_ampPrewittAmpPrewittAmpprewitt_amp always returns 2 ( H_MSG_TRUE) . If the input is empty the behavior can be set via set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

binomial_filterbinomial_filterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFiltergauss_filter, sigma_imagesigma_imageSigmaImageSigmaImagesigma_image, median_imagemedian_imageMedianImageMedianImagemedian_image, smooth_imagesmooth_imageSmoothImageSmoothImagesmooth_image

Possible Successors

thresholdthresholdThresholdThresholdthreshold, gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton, nonmax_suppression_ampnonmax_suppression_ampNonmaxSuppressionAmpNonmaxSuppressionAmpnonmax_suppression_amp, close_edgesclose_edgesCloseEdgesCloseEdgesclose_edges, close_edges_lengthclose_edges_lengthCloseEdgesLengthCloseEdgesLengthclose_edges_length

Alternatives

sobel_ampsobel_ampSobelAmpSobelAmpsobel_amp, kirsch_ampkirsch_ampKirschAmpKirschAmpkirsch_amp, frei_ampfrei_ampFreiAmpFreiAmpfrei_amp, robinson_amprobinson_ampRobinsonAmpRobinsonAmprobinson_amp, robertsrobertsRobertsRobertsroberts

See also

bandpass_imagebandpass_imageBandpassImageBandpassImagebandpass_image, laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGausslaplace_of_gauss

Module

Foundation