roberts — 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 Dthe 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".
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.
Roberts-filtered result images.
Default value: 'gradient_sum'
List of values: 'gradient_max', 'gradient_sum', 'roberts_max'
read_image(Image,'fabrik') roberts(Image,Roberts,'roberts_max') threshold(Roberts,Margin,128,255)
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.
edges_image, sobel_amp, frei_amp, kirsch_amp, prewitt_amp
laplace, highpass_image, bandpass_image