Compute connected components of a region.
connection determines the connected components of the input regions given in Region. The neighborhood used for this can be set via set_system('neighborhood',<4/8>). The default is 8-neighborhood, which is useful for determining the connected components of the foreground. The maximum number of connected components that is returned by connection can be set via set_system('max_connection',<Num>). The default value of 0 causes all connected components to be returned. The inverse operator of connection is union1.
|
Region (input_object) |
region(-array) -> object |
| Input region. | |
|
ConnectedRegions (output_object) |
region-array -> object |
| Connected components. | |
read_image(Image,'affe')
set_colored(WindowHandle,12)
threshold(Image,Light,150.0,255.0)
count_obj(Light,Number1)
fwrite_string('Nummber of regions after threshold = '+Number1)
fnew_line()
disp_region(Light,WindowHandle)
connection(Light,Many)
count_obj(Many,Number2)
fwrite_string('Nummber of regions after threshold = '+Number2)
fnew_line()
disp_region(Many,WindowHandle).
Let F be the area of the input region and N be the number of generated connected components. Then the runtime complexity is O(sqrt(F) * sqrt(N)).
connection always returns the value 2 (H_MSG_TRUE). The behavior in case of empty input (no regions given) can be set via set_system('no_object_result',<Result>) and the behavior in case of an empty input region via set_system('empty_region_result',<Result>). If necessary, an exception handling is raised.
connection is reentrant and processed without parallelization.
auto_threshold, threshold, dyn_threshold, erosion1
select_shape, select_gray, shape_trans, set_colored, dilation1, count_obj, reduce_domain, add_channels
Region processing