robertsš
Short descriptionš
roberts ā Detect edges using the Roberts filter.
Signatureš
roberts( image Image, out image ImageRoberts, string FilterType )
Descriptionš
roberts calculates the first derivative of an image
and is used as an edge operator. If the following mask describes a
part of the image,
A B
C D
the different filter types are defined as follows:
'roberts_max' max(| A - D |,| B - C |)
'gradient_max' max(| A + B - (C + D)|,| A + C - (B + D)|)
'gradient_sum' |A + B - (C + D)| + |A + C - (B + D)|
If an overflow occurs the result is clipped. The result of the operator is stored at the pixel with the coordinates of āDā.
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š
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š
Image (input_object) (multichannel-)image(-array) ā object (byte / int2 / uint2)
Input image.
ImageRoberts (output_object) (multichannel-)image(-array) ā object (byte / int2 / uint2)
Roberts-filtered result images.
FilterType (input_control) string ā (string)
Filter type.
Default: 'gradient_sum'
List of values: 'gradient_max', 'gradient_sum', 'roberts_max'
Exampleš
(HDevelop)
read_image(&Image,"fabrik")\;
roberts(Image,&Roberts,"roberts_max")\;
threshold(Roberts,&Margin,128.0,255.0)\;
Resultš
roberts returns 2 (H_MSG_TRUE) if all parameters are
correct. If the input is empty the behavior can be set via
set_system('no_object_result',<Result>). If
necessary, an exception is raised.
Combinations with other operatorsš
Combinations
Possible predecessors
Possible successors
Alternatives
edges_image, sobel_amp, frei_amp, kirsch_amp, prewitt_amp
See also
Moduleš
Foundation