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 -1 The 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.
|
Image (input_object) |
(multichannel-)image(-array) -> Hobject: HImage(Array) ( byte ) |
| Eingabebild. | |
|
ImageEdgeAmp (output_object) |
(multichannel-)image(-array) -> Hobject * : HImage(Array) ( byte ) |
| Edge amplitude (gradient magnitude) image. | |
|
ImageEdgeDir (output_object) |
(multichannel-)image(-array) -> Hobject * : HImage(Array) ( direction ) |
| Edge direction image. | |
read_image(&Image,"fabrik"); robinson_dir(Image,&Robinson_dirA,&Robinson_dirD); threshold(Robinson_dirA,&Res,128,255);
::robinson_dir always returns H_MSG_TRUE. If the input is empty the behaviour can be set via ::set_system('no_object_result',<Result>). If necessary, an exception handling is raised.
::gauss_image, ::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
::bandpass_image, ::laplace_of_gauss
Image filters