roberts__ ( Image : ImageRoberts : FilterType : )

Detect edges using the Roberts filter.

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".


Parameters

Image (input_object)
image(-array) -> object : byte
Input image.

ImageRoberts (output_object)
image(-array) -> object : byte
Roberts-filtered result images.

FilterType (input_control)
string -> string
Filter type
Default value: 'gradient_sum'
List of values: 'roberts_max', 'gradient_max', 'gradient_sum'


Example
read_image(:Image:'fabrik':) >
roberts__(Image:Roberts:'roberts_max':) >
threshold__(Roberts:Margin:128,255:).

Result

roberts__ returns TRUE if all parameters are correct. If the input is empty the behaviour can be set via set_system(::'no_object_result',<Result>:). If necessary, an exception is raised.


Possible Predecessors

gauss__


Possible Successors

threshold__, skeleton


Alternatives

edges__, sobel_amp, frei_amp, kirsch_amp, prewitt_amp


See also

laplace__, highpass__, bandpass__



Copyright © 1996-1997 MVTec Software GmbH