Suppress non-maximum points on an edge.
::nonmax_suppression_amp suppresses in the regions of the image ImgAmp all points whose gray values are not local (directed) maxima. In contrast to ::nonmax_suppression_dir, a direction image is not 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 $\pm$ 5 pixels, either horizontally 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) -> Hobject: HImage(Array) ( byte ) |
| Amplitude (gradient magnitude) image. | |
|
ImageResult (output_object) |
image(-array) -> Hobject * : HImage(Array) ( byte ) |
| Image with thinned edge regions. | |
|
Mode (input_control) |
string -> HTuple.char * |
| Select horizontal/vertical or undirected NMS. | |
| Default value: 'hvnms' | |
| List of values: 'hvnms', 'loc_max' | |
::nonmax_suppression_amp returns H_MSG_TRUE if all parameters are correct. The behavior 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
::gray_skeleton, ::local_max, ::gray_dilation_rect
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.
Region processing