ClassesClassesClassesClasses | | | | Operators

merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXld (Operator)

Name

merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXld — Merge XLD contours from successive line scan images.

Signature

merge_cont_line_scan_xld(CurrConts, PrevConts : CurrMergedConts, PrevMergedConts : ImageHeight, Margin, MergeBorder, MaxImagesCont : )

Herror merge_cont_line_scan_xld(const Hobject CurrConts, const Hobject PrevConts, Hobject* CurrMergedConts, Hobject* PrevMergedConts, const Hlong ImageHeight, double Margin, const char* MergeBorder, const Hlong MaxImagesCont)

Herror T_merge_cont_line_scan_xld(const Hobject CurrConts, const Hobject PrevConts, Hobject* CurrMergedConts, Hobject* PrevMergedConts, const Htuple ImageHeight, const Htuple Margin, const Htuple MergeBorder, const Htuple MaxImagesCont)

Herror merge_cont_line_scan_xld(Hobject CurrConts, Hobject PrevConts, Hobject* CurrMergedConts, Hobject* PrevMergedConts, const HTuple& ImageHeight, const HTuple& Margin, const HTuple& MergeBorder, const HTuple& MaxImagesCont)

HXLDCont HXLDCont::MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, const HTuple& ImageHeight, const HTuple& Margin, const HTuple& MergeBorder, const HTuple& MaxImagesCont) const

HXLDContArray HXLDContArray::MergeContLineScanXld(const HXLDContArray& PrevConts, HXLDContArray* PrevMergedConts, const HTuple& ImageHeight, const HTuple& Margin, const HTuple& MergeBorder, const HTuple& MaxImagesCont) const

void MergeContLineScanXld(const HObject& CurrConts, const HObject& PrevConts, HObject* CurrMergedConts, HObject* PrevMergedConts, const HTuple& ImageHeight, const HTuple& Margin, const HTuple& MergeBorder, const HTuple& MaxImagesCont)

HXLDCont HXLDCont::MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, Hlong ImageHeight, const HTuple& Margin, const HString& MergeBorder, Hlong MaxImagesCont) const

HXLDCont HXLDCont::MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, Hlong ImageHeight, double Margin, const HString& MergeBorder, Hlong MaxImagesCont) const

HXLDCont HXLDCont::MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, Hlong ImageHeight, double Margin, const char* MergeBorder, Hlong MaxImagesCont) const

void HOperatorSetX.MergeContLineScanXld(
[in] IHUntypedObjectX* CurrConts, [in] IHUntypedObjectX* PrevConts, [out] IHUntypedObjectX*CurrMergedConts, [out] IHUntypedObjectX*PrevMergedConts, [in] VARIANT ImageHeight, [in] VARIANT Margin, [in] VARIANT MergeBorder, [in] VARIANT MaxImagesCont)

IHXLDContX* HXLDContX.MergeContLineScanXld(
[in] IHXLDContX* PrevConts, [out] IHXLDContX*PrevMergedConts, [in] Hlong ImageHeight, [in] VARIANT Margin, [in] BSTR MergeBorder, [in] Hlong MaxImagesCont)

static void HOperatorSet.MergeContLineScanXld(HObject currConts, HObject prevConts, out HObject currMergedConts, out HObject prevMergedConts, HTuple imageHeight, HTuple margin, HTuple mergeBorder, HTuple maxImagesCont)

HXLDCont HXLDCont.MergeContLineScanXld(HXLDCont prevConts, out HXLDCont prevMergedConts, int imageHeight, HTuple margin, string mergeBorder, int maxImagesCont)

HXLDCont HXLDCont.MergeContLineScanXld(HXLDCont prevConts, out HXLDCont prevMergedConts, int imageHeight, double margin, string mergeBorder, int maxImagesCont)

Description

The operator merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXld connects adjacent XLD contours, which were extracted from adjacent images with the height ImageHeightImageHeightImageHeightImageHeightImageHeightimageHeight. This operator was especially designed to connect contours that were extracted from images grabbed by a line scan camera. CurrContsCurrContsCurrContsCurrContsCurrContscurrConts contains the contours from the current image and PrevContsPrevContsPrevContsPrevContsPrevContsprevConts the contours from the previous one.

With the help of the parameter MergeBorderMergeBorderMergeBorderMergeBorderMergeBordermergeBorder two cases can be distinguished: If the top (first) line of the current image touches the bottom (last) line of the previous image, MergeBorderMergeBorderMergeBorderMergeBorderMergeBordermergeBorder must be set to 'top'"top""top""top""top""top", otherwise set MergeBorderMergeBorderMergeBorderMergeBorderMergeBordermergeBorder to 'bottom'"bottom""bottom""bottom""bottom""bottom". MergeBorderMergeBorderMergeBorderMergeBorderMergeBordermergeBorder defines a margin to the border. Only those end points of the contours which are inside this margin are considered for the following merging process.

If the operator merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXld is used recursively, the parameter MaxImagesContMaxImagesContMaxImagesContMaxImagesContMaxImagesContmaxImagesCont determines the maximum number of images which are covered by a merged contour. All points of the merged contour from an older image are removed.

The operator merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXld returns two contour arrays. PrevMergedContsPrevMergedContsPrevMergedContsPrevMergedContsPrevMergedContsprevMergedConts contains all those contours from the previous input contours PrevContsPrevContsPrevContsPrevContsPrevContsprevConts, which could not be merged with a current contour. CurrMergedContsCurrMergedContsCurrMergedContsCurrMergedContsCurrMergedContscurrMergedConts collects all current contours together with the merged parts from the previous images. Merged contours will exceed the original image, because the previous contours are moved upward (MergeBorderMergeBorderMergeBorderMergeBorderMergeBordermergeBorder='top'"top""top""top""top""top") or downward (MergeBorderMergeBorderMergeBorderMergeBorderMergeBordermergeBorder='bottom'"bottom""bottom""bottom""bottom""bottom") according to the image height.

Parallelization

Parameters

CurrContsCurrContsCurrContsCurrContsCurrContscurrConts (input_object)  xld_cont(-array) objectHXLDContHXLDContHXLDContHXLDContXHobject

Current input contours.

PrevContsPrevContsPrevContsPrevContsPrevContsprevConts (input_object)  xld_cont(-array) objectHXLDContHXLDContHXLDContHXLDContXHobject

Merged contours from the previous iteration.

CurrMergedContsCurrMergedContsCurrMergedContsCurrMergedContsCurrMergedContscurrMergedConts (output_object)  xld_cont(-array) objectHXLDContHXLDContHXLDContHXLDContXHobject *

Current contours, merged with old ones where applicable.

PrevMergedContsPrevMergedContsPrevMergedContsPrevMergedContsPrevMergedContsprevMergedConts (output_object)  xld_cont(-array) objectHXLDContHXLDContHXLDContHXLDContXHobject *

Contours from the previous iteration which could not be merged with the current ones.

ImageHeightImageHeightImageHeightImageHeightImageHeightimageHeight (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Height of the line scan images.

Default value: 512

Suggested values: 240, 480, 512

MarginMarginMarginMarginMarginmargin (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Maximum distance of contours from the image border.

Default value: 0.0

Suggested values: 0.0, 1.0, 2.0, 3.0, 4.0, 5.0

MergeBorderMergeBorderMergeBorderMergeBorderMergeBordermergeBorder (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Image line of the current image, which touches the previous image.

Default value: 'top' "top" "top" "top" "top" "top"

List of values: 'bottom'"bottom""bottom""bottom""bottom""bottom", 'top'"top""top""top""top""top"

MaxImagesContMaxImagesContMaxImagesContMaxImagesContMaxImagesContmaxImagesCont (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Maximum number of images covered by one contour.

Default value: 3

Suggested values: 1, 2, 3, 4, 5

Result

The operator merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXld returns the value 2 (H_MSG_TRUE) if the given parameters are correct. Otherwise, an exception will be raised.

Module

Foundation


ClassesClassesClassesClasses | | | | Operators