Determine the connected components of the background of given regions.
::background_seg determines connected components of the background of the foreground regions given in Foreground. This operator is normally used after an edge operator in order to determine the regions enclosed by the extracted edges. The connected components are determined using 4-connectivity.
|
Foreground (input_object) |
region(-array) -> Hobject: HRegion(Array) |
| Input regions. | |
|
BackgroundRegions (output_object) |
region-array -> Hobject * : HRegionArray |
| Connected components of the background. | |
/* Segmentation with edge filter: */ read_image(&Image,"fabrik") ; sobel_dir(Image,&Sobel,&Dir,"sum_sqrt",3) ; threshold(Sobel,&Edges,20,255) ; skeleton(Edges,&Margins) ; background_seg(Margins,&Regions) ;
Let F be the area of the background, H and W be the height and width of the image, and N be the number of resulting regions. Then the runtime complexity is O(H + F * N).
::background_seg always returns the value 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.
::threshold, ::connection, ::regiongrowing, ::pouring, ::class_ndim_norm
::threshold, ::hysteresis_threshold, ::skeleton, ::expand_region, ::set_system, ::sobel_amp, ::edges_image, ::roberts, ::bandpass_image
Region processing