Merge regions from line scan images.
The operator merge_regions_line_scan connects adjacent regions, which were segmentated from adjacent images with the height ImageHeight. This operator was especially designed to process regions that were extracted from images grabbed by a line scan camera. CurrRegions contains the regions from the current image and PrevRegions the regions from the previous one.
With the help of the parameter MergeBorder two cases can be distinguished: If the top (first) line of the current image touches the bottom (last) line of the previous image, MergeBorder must be set to 'top', otherwise set MergeBorder to 'bottom'.
If the operator merge_regions_line_scan is used recursivly, the parameter MaxImagesRegion determines the maximum number of images which are covered by a merged region. All older region parts are removed.
The operator merge_regions_line_scan returns two region arrays. PrevMergedRegions contains all those regions from the previous input regions PrevRegions, which could not be merged with a current region. CurrMergedRegions collects all current regions together with the merged parts from the previous images. Merged regions will exceed the original image, because the previous regions are moved upward (MergeBorder='top') or downward (MergeBorder='bottom') according to the image height. For this the system parameter 'clip_region' (see also set_system) will internaly be set to 'false'.
|
CurrRegions (input_object) |
region(-array) -> object |
| Current input regions. | |
|
PrevRegions (input_object) |
region(-array) -> object |
| Merged regions from the previous iteration. | |
|
CurrMergedRegions (output_object) |
region(-array) -> object |
| Current regions, merged with old ones where applicable. | |
|
PrevMergedRegions (output_object) |
region(-array) -> object |
| Regions from the previous iteration which could not be merged with the current ones. | |
|
ImageHeight (input_control) |
integer -> integer |
| Height of the line scan images. | |
| Default value: 512 | |
| List of values: 240, 480, 512 | |
|
MergeBorder (input_control) |
string -> string |
| Image line of the current image, which touches the previous image. | |
| Default value: ''top'' | |
| List of values: ''top'', ''bottom'' | |
|
MaxImagesRegion (input_control) |
integer -> integer |
| Maximum number of images for a single region. | |
| Default value: 3 | |
| Suggested values: 1, 2, 3, 4, 5 | |
The operator merge_regions_line_scan returns the value 2 (H_MSG_TRUE) if the given parameters are correct. Otherwise, an exception will be raised.
merge_regions_line_scan is reentrant and processed without parallelization.
Foundation