robinson_dir ( Image : ImageEdgeAmp, ImageEdgeDir : : )

Detect edges (amplitude and direction) using the Robinson operator.

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


Parameters

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

ImageEdgeAmp (output_object)
image(-array) -> object : byte
Edge amplitude (gradient magnitude) image.

ImageEdgeDir (output_object)
image(-array) -> object : direction
Edge direction image.


Example
read_image(:Image:'fabrik':) >
robinson_dir(Image:Robinson_dirA,Robinson_dirD::) >
threshold__(Robinson_dirA:Res:128,255:).

Result

robinson_dir always returns TRUE. 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__, sigma__, median, smooth__


Possible Successors

hysteresis_threshold__, threshold__, grey_skeleton__, nonmax_suppression_dir, close_edges1, close_edges2


Alternatives

edges__, sobel_dir, kirsch_dir, prewitt_dir, frei_dir


See also

bandpass__, laplace_of_gauss



Copyright © 1996-1997 MVTec Software GmbH