Suppress non-maximum points on an edge.
nonmax_suppression_amp suppresses all points in the regions of the image ImgAmp for which the gray values are no local (directed) maximum. In contrast to nonmax_suppression_dir, no direction image is needed. Two modes of operation can be selected:
'hvnms' A point is labeled as a local maximum if its gray value is larger than or equal to the gray values within a seach space of +/- 5 pixels, either horzontally or vertically. Non-maximum points are removed from the region, gray values remain unchanged. 'loc_max' A point is labeled as a local maximum if its gray value is larger than or equal to the gray values of its eight neighbors.
ImgAmp (input_object) |
image(-array) -> object : byte |
Amplitude (gradient magnitude) image. |
ImageResult (output_object) |
image(-array) -> object : byte |
Image with thinned edge regions. |
Mode (input_control) |
string -> string |
Select horizontal/vertical or undirected NMS. | |
Default value: 'hvnms' | |
List of values: 'hvnms', 'loc_max' |
nonmax_suppression_amp returns TRUE if all parameters are correct. The behaviour with respect to the input images and output regions can be determined by setting the values of the flags 'no_object_result', 'empty_region_result', and 'store_empty_region' with set_system. If necessary, an exception is raised.
threshold__, hysteresis_threshold__
grey_skeleton__, local_max, max1__
S.Lanser: "Detektion von Stufenkanten mittels rekursiver Filter nach Deriche"; Diplomarbeit; Technische Universität München, Institut für Informatik, Lehrstuhl Prof. Radig; 1991.
J.Canny: "Finding Edges and Rows in Images"; Report, AI-TR-720; M.I.T. Artificial Intelligence Lab., Cambridge, MA; 1983.