robinson_dirrobinson_dirRobinsonDirRobinsonDir (Operator)
Name
robinson_dirrobinson_dirRobinsonDirRobinsonDir
— Detect edges (amplitude and direction) using the Robinson operator.
Signature
Description
robinson_dirrobinson_dirRobinsonDirRobinsonDirRobinsonDir
calculates an approximation of the first
derivative of the image data and is used as an edge detector. In
robinson_amprobinson_ampRobinsonAmpRobinsonAmpRobinsonAmp
the following four of the originally
proposed eight 3x3 filter masks are convolved with
the image. The other four masks are obtained by a multiplication by
-1. All masks contain only the values 0,1,-1,2,-2.
-1 0 1 2 1 0
-2 0 2 1 0 -1
-1 0 1 0 -1 -2
0 1 2 1 2 1
-1 0 1 0 0 0
-2 -1 0 -1 -2 -1
The result image contains the maximum response of all masks. The
edge directions are returned in ImageEdgeDirImageEdgeDirImageEdgeDirImageEdgeDirimageEdgeDir
, and are
stored as x / 2. They correspond to the direction of
the mask yielding the maximum response.
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) →
objectHImageHImageHobject (byte / int2 / uint2)
Input image.
ImageEdgeAmpImageEdgeAmpImageEdgeAmpImageEdgeAmpimageEdgeAmp
(output_object) (multichannel-)image(-array) →
objectHImageHImageHobject * (byte / int2 / uint2)
Edge amplitude (gradient magnitude) image.
ImageEdgeDirImageEdgeDirImageEdgeDirImageEdgeDirimageEdgeDir
(output_object) (multichannel-)image(-array) →
objectHImageHImageHobject * (direction)
Edge direction image.
Example (HDevelop)
read_image(Image,'fabrik')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
Example (C)
read_image(&Image,"fabrik");
robinson_dir(Image,&Robinson_dirA,&Robinson_dirD);
threshold(Robinson_dirA,&Res,128,255);
Example (HDevelop)
read_image(Image,'fabrik')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
Example (HDevelop)
read_image(Image,'fabrik')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
Example (HDevelop)
read_image(Image,'fabrik')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
Result
robinson_dirrobinson_dirRobinsonDirRobinsonDirRobinsonDir
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>)SetSystem("no_object_result",<Result>)
.
If necessary, an exception is raised.
Possible Predecessors
binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilter
,
gauss_filtergauss_filterGaussFilterGaussFilterGaussFilter
,
sigma_imagesigma_imageSigmaImageSigmaImageSigmaImage
,
median_imagemedian_imageMedianImageMedianImageMedianImage
,
smooth_imagesmooth_imageSmoothImageSmoothImageSmoothImage
Possible Successors
hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThreshold
,
thresholdthresholdThresholdThresholdThreshold
,
gray_skeletongray_skeletonGraySkeletonGraySkeletonGraySkeleton
,
nonmax_suppression_dirnonmax_suppression_dirNonmaxSuppressionDirNonmaxSuppressionDirNonmaxSuppressionDir
,
close_edgesclose_edgesCloseEdgesCloseEdgesCloseEdges
,
close_edges_lengthclose_edges_lengthCloseEdgesLengthCloseEdgesLengthCloseEdgesLength
Alternatives
edges_imageedges_imageEdgesImageEdgesImageEdgesImage
,
sobel_dirsobel_dirSobelDirSobelDirSobelDir
,
kirsch_dirkirsch_dirKirschDirKirschDirKirschDir
,
prewitt_dirprewitt_dirPrewittDirPrewittDirPrewittDir
,
frei_dirfrei_dirFreiDirFreiDirFreiDir
See also
bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImage
,
laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGaussLaplaceOfGauss
Module
Foundation