ClassesClassesClassesClasses | | | | Operators

gen_bundle_adjusted_mosaicT_gen_bundle_adjusted_mosaicGenBundleAdjustedMosaicgen_bundle_adjusted_mosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaic (Operator)

Name

gen_bundle_adjusted_mosaicT_gen_bundle_adjusted_mosaicGenBundleAdjustedMosaicgen_bundle_adjusted_mosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaic — Combine multiple images into a mosaic image.

Signature

gen_bundle_adjusted_mosaic(Images : MosaicImage : HomMatrices2D, StackingOrder, TransformDomain : TransMat2D)

Herror T_gen_bundle_adjusted_mosaic(const Hobject Images, Hobject* MosaicImage, const Htuple HomMatrices2D, const Htuple StackingOrder, const Htuple TransformDomain, Htuple* TransMat2D)

Herror gen_bundle_adjusted_mosaic(Hobject Images, Hobject* MosaicImage, const HTuple& HomMatrices2D, const HTuple& StackingOrder, const HTuple& TransformDomain, HTuple* TransMat2D)

HImage HImageArray::GenBundleAdjustedMosaic(const HTuple& HomMatrices2D, const HTuple& StackingOrder, const HTuple& TransformDomain, HTuple* TransMat2D) const

void GenBundleAdjustedMosaic(const HObject& Images, HObject* MosaicImage, const HTuple& HomMatrices2D, const HTuple& StackingOrder, const HTuple& TransformDomain, HTuple* TransMat2D)

HImage HImage::GenBundleAdjustedMosaic(const HHomMat2DArray& HomMatrices2D, const HTuple& StackingOrder, const HString& TransformDomain, HHomMat2D* TransMat2D) const

HImage HImage::GenBundleAdjustedMosaic(const HHomMat2DArray& HomMatrices2D, const HString& StackingOrder, const HString& TransformDomain, HHomMat2D* TransMat2D) const

HImage HImage::GenBundleAdjustedMosaic(const HHomMat2DArray& HomMatrices2D, const char* StackingOrder, const char* TransformDomain, HHomMat2D* TransMat2D) const

void HOperatorSetX.GenBundleAdjustedMosaic(
[in] IHUntypedObjectX* Images, [out] IHUntypedObjectX*MosaicImage, [in] VARIANT HomMatrices2D, [in] VARIANT StackingOrder, [in] VARIANT TransformDomain, [out] VARIANT* TransMat2D)

IHImageX* HImageX.GenBundleAdjustedMosaic(
[in] IHHomMat2DX* HomMatrices2D, [in] VARIANT StackingOrder, [in] BSTR TransformDomain, [out] IHHomMat2DX*TransMat2D)

static void HOperatorSet.GenBundleAdjustedMosaic(HObject images, out HObject mosaicImage, HTuple homMatrices2D, HTuple stackingOrder, HTuple transformDomain, out HTuple transMat2D)

HImage HImage.GenBundleAdjustedMosaic(HHomMat2D[] homMatrices2D, HTuple stackingOrder, string transformDomain, out HHomMat2D transMat2D)

HImage HImage.GenBundleAdjustedMosaic(HHomMat2D[] homMatrices2D, string stackingOrder, string transformDomain, out HHomMat2D transMat2D)

Description

gen_bundle_adjusted_mosaicgen_bundle_adjusted_mosaicGenBundleAdjustedMosaicgen_bundle_adjusted_mosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaic combines the input images contained in the object ImagesImagesImagesImagesImagesimages into a mosaic image MosaicImageMosaicImageMosaicImageMosaicImageMosaicImagemosaicImage. The relative positions of the images are defined by 3x3 projective transformation matrices. The array HomMatrices2DHomMatrices2DHomMatrices2DHomMatrices2DHomMatrices2DhomMatrices2D contains a sequence of these linearized matrices. The transformation matrices can be computed with bundle_adjust_mosaicbundle_adjust_mosaicBundleAdjustMosaicbundle_adjust_mosaicBundleAdjustMosaicBundleAdjustMosaic.

The origin of MosaicImageMosaicImageMosaicImageMosaicImageMosaicImagemosaicImage and its size are automatically chosen so that all of the input images are completely visible.

The order in which the images are added to the mosaic is given by the array StackingOrderStackingOrderStackingOrderStackingOrderStackingOrderstackingOrder. The first index in this array will end up at the bottom of the image stack while the last one will be on top. If 'default'"default""default""default""default""default" is given instead of an array of integers, the canonical order (images in the order used in ImagesImagesImagesImagesImagesimages) will be used.

The parameter TransformDomainTransformDomainTransformDomainTransformDomainTransformDomaintransformDomain can be used to determine whether the domains of ImagesImagesImagesImagesImagesimages are also transformed. Since the transformation of the domains costs runtime, this parameter should be used to specify whether this is desired or not. If TransformDomainTransformDomainTransformDomainTransformDomainTransformDomaintransformDomain is set to 'false'"false""false""false""false""false" the domain of the input images is ignored and the complete images are transformed.

On output, the parameter TransMat2DTransMat2DTransMat2DTransMat2DTransMat2DtransMat2D contains a 3x3 projective transformation matrix that describes the translation that was necessary to transform all images completely into the output image.

Parallelization

Parameters

ImagesImagesImagesImagesImagesimages (input_object)  (multichannel-)image-array objectHImageHImageHImageArrayHImageXHobject (byte / uint2 / real)

Input images.

MosaicImageMosaicImageMosaicImageMosaicImageMosaicImagemosaicImage (output_object)  (multichannel-)image objectHImageHImageHImageHImageXHobject * (byte / uint2 / real)

Output image.

HomMatrices2DHomMatrices2DHomMatrices2DHomMatrices2DHomMatrices2DhomMatrices2D (input_control)  hom_mat2d-array HHomMat2D, HTupleHTupleHTupleHHomMat2DX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Array of 3x3 projective transformation matrices.

StackingOrderStackingOrderStackingOrderStackingOrderStackingOrderstackingOrder (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong) (BSTR / Hlong) (char* / Hlong)

Stacking order of the images in the mosaic.

Default value: 'default' "default" "default" "default" "default" "default"

Suggested values: 'default'"default""default""default""default""default"

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

Should the domains of the input images also be transformed?

Default value: 'false' "false" "false" "false" "false" "false"

List of values: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"

TransMat2DTransMat2DTransMat2DTransMat2DTransMat2DtransMat2D (output_control)  hom_mat2d HHomMat2D, HTupleHTupleHTupleHHomMat2DX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

3x3 projective transformation matrix that describes the translation that was necessary to transform all images completely into the output image.

Possible Predecessors

bundle_adjust_mosaicbundle_adjust_mosaicBundleAdjustMosaicbundle_adjust_mosaicBundleAdjustMosaicBundleAdjustMosaic

Alternatives

gen_projective_mosaicgen_projective_mosaicGenProjectiveMosaicgen_projective_mosaicGenProjectiveMosaicGenProjectiveMosaic

See also

projective_trans_imageprojective_trans_imageProjectiveTransImageprojective_trans_imageProjectiveTransImageProjectiveTransImage, projective_trans_image_sizeprojective_trans_image_sizeProjectiveTransImageSizeprojective_trans_image_sizeProjectiveTransImageSizeProjectiveTransImageSize, projective_trans_regionprojective_trans_regionProjectiveTransRegionprojective_trans_regionProjectiveTransRegionProjectiveTransRegion, projective_trans_contour_xldprojective_trans_contour_xldProjectiveTransContourXldprojective_trans_contour_xldProjectiveTransContourXldProjectiveTransContourXld, projective_trans_point_2dprojective_trans_point_2dProjectiveTransPoint2dprojective_trans_point_2dProjectiveTransPoint2dProjectiveTransPoint2d, projective_trans_pixelprojective_trans_pixelProjectiveTransPixelprojective_trans_pixelProjectiveTransPixelProjectiveTransPixel

References

Richard Hartley, Andrew Zisserman: “Multiple View Geometry in Computer Vision”; Cambridge University Press, Cambridge; 2000.
Olivier Faugeras, Quang-Tuan Luong: “The Geometry of Multiple Images: The Laws That Govern the Formation of Multiple Images of a Scene and Some of Their Applications”; MIT Press, Cambridge, MA; 2001.

Module

Matching


ClassesClassesClassesClasses | | | | Operators