robinson_dir — Detect edges (amplitude and direction) using the Robinson operator.
robinson_dir calculates an approximation of the first derivative of the image data and is used as an edge detector. In robinson_amp the following four of the originally proposed eight 3x3 filter masks are convolved with the image. The other four masks are obtained by a multiplication by -1. All masks contain only the values 0,1,-1,2,-2.
-1 0 1 2 1 0 -2 0 2 1 0 -1 -1 0 1 0 -1 -2 0 1 2 1 2 1 -1 0 1 0 0 0 -2 -1 0 -1 -2 -1The result image contains the maximum response of all masks. The edge directions are returned in ImageEdgeDir, and are stored as x / 2. They correspond to the direction of the mask yielding the maximum response.
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.
Edge amplitude (gradient magnitude) image.
Edge direction image.
read_image(Image,'fabrik') robinson_dir(Image,Robinson_dirA,Robinson_dirD) threshold(Robinson_dirA,Res,128,255)
robinson_dir always returns 2 (H_MSG_TRUE). If the input is empty the behavior can be set via set_system('no_object_result',<Result>). If necessary, an exception is raised.
binomial_filter, gauss_filter, sigma_image, median_image, smooth_image
hysteresis_threshold, threshold, gray_skeleton, nonmax_suppression_dir, close_edges, close_edges_length
edges_image, sobel_dir, kirsch_dir, prewitt_dir, frei_dir