Detect edges (amplitude) using the Kirsch operator.
kirsch_amp calculates an approximation of the first derivative of the image data and is used as an edge detector. The filter is based on the following filter masks: -3 -3 5 -3 5 5 5 5 5 5 5 -3 -3 0 5 -3 0 5 -3 0 -3 5 0 -3 -3 -3 5 -3 -3 -3 -3 -3 -3 -3 -3 -3 5 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 5 0 -3 5 0 -3 -3 0 -3 -3 0 5 5 -3 -3 5 5 -3 5 5 5 -3 5 5 The result image contains the maximum response of all masks.
Image (input_object) |
image(-array) -> object : byte |
Input image. |
ImageEdgeAmp (output_object) |
image(-array) -> object : byte |
Edge amplitude (gradient magnitude) image. |
read_image(:Image:'fabrik':) > kirsch_amp(Image:Kirsch_amp::) > threshold__(Kirsch_amp:Edges:128,255:).
kirsch_amp 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.
gauss__, sigma__, median, smooth__
sobel_amp, frei_amp, prewitt_amp, robinson_amp, roberts__