Herror ::roberts (
    Hobject Image,
    Hobject *ImageRoberts,
    const HTuple &FilterType
)
HImage HImage::Roberts (
    const HTuple &FilterType
) const
HImageArray HImageArray::Roberts (
    const HTuple &FilterType
) const

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)
(multichannel-)image(-array) -> Hobject: HImage(Array) ( byte / int2 )
Input image.

ImageRoberts (output_object)
(multichannel-)image(-array) -> Hobject * : HImage(Array) ( byte / int2 )
Roberts-filtered result images.

FilterType (input_control)
string -> HTuple.char *
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.0,255.0);

Result

::roberts returns H_MSG_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 handling is raised.


Possible Predecessors

::gauss_image


Possible Successors

::threshold, ::skeleton


Alternatives

::edges_image, ::sobel_amp, ::frei_amp, ::kirsch_amp, ::prewitt_amp


See also

::laplace, ::highpass_image, ::bandpass_image


Module

Image filters



Copyright © 1996-2002 MVTec Software GmbH