frei_ampfrei_ampFreiAmpFreiAmp (Operator)
Name
frei_ampfrei_ampFreiAmpFreiAmp
— Detect edges (amplitude) using the Frei-Chen operator.
Signature
Description
frei_ampfrei_ampFreiAmpFreiAmpFreiAmp
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 sqrt(2) 1
0 0 0
-1 -sqrt(2) -1
B =
1 0 -1
sqrt(2) 0 -sqrt(2)
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) →
objectHImageHImageHobject (byte / int2 / uint2)
Input image.
ImageEdgeAmpImageEdgeAmpImageEdgeAmpImageEdgeAmpimageEdgeAmp
(output_object) (multichannel-)image(-array) →
objectHImageHImageHobject * (byte / int2 / uint2)
Edge amplitude (gradient magnitude) image.
Example (HDevelop)
read_image(Image,'fabrik')
frei_amp(Image,Frei_amp)
threshold(Frei_amp,Edges,128,255)
Example (C)
read_image(&Image,"fabrik");
frei_amp(Image,&Frei_amp);
threshold(Frei_amp,&Edges,128,255);
Example (HDevelop)
read_image(Image,'fabrik')
frei_amp(Image,Frei_amp)
threshold(Frei_amp,Edges,128,255)
Example (HDevelop)
read_image(Image,'fabrik')
frei_amp(Image,Frei_amp)
threshold(Frei_amp,Edges,128,255)
Example (HDevelop)
read_image(Image,'fabrik')
frei_amp(Image,Frei_amp)
threshold(Frei_amp,Edges,128,255)
Result
frei_ampfrei_ampFreiAmpFreiAmpFreiAmp
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
Alternatives
sobel_ampsobel_ampSobelAmpSobelAmpSobelAmp
,
kirsch_ampkirsch_ampKirschAmpKirschAmpKirschAmp
,
prewitt_ampprewitt_ampPrewittAmpPrewittAmpPrewittAmp
,
robinson_amprobinson_ampRobinsonAmpRobinsonAmpRobinsonAmp
,
robertsrobertsRobertsRobertsRoberts
See also
bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImage
,
laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGaussLaplaceOfGauss
Module
Foundation