Skip to content

gen_bundle_adjusted_mosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaicgen_bundle_adjusted_mosaicT_gen_bundle_adjusted_mosaicπŸ”—

Short descriptionπŸ”—

gen_bundle_adjusted_mosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaicgen_bundle_adjusted_mosaicT_gen_bundle_adjusted_mosaic β€” Combine multiple images into a mosaic image.

SignatureπŸ”—

gen_bundle_adjusted_mosaic( image Images, out image MosaicImage, hom_mat2d HomMatrices2D, string StackingOrder, string TransformDomain, out hom_mat2d TransMat2D )void GenBundleAdjustedMosaic( const HObject& Images, HObject* MosaicImage, const HTuple& HomMatrices2D, const HTuple& StackingOrder, const HTuple& TransformDomain, HTuple* TransMat2D )static void HOperatorSet.GenBundleAdjustedMosaic( HObject images, out HObject mosaicImage, HTuple homMatrices2D, HTuple stackingOrder, HTuple transformDomain, out HTuple transMat2D )def gen_bundle_adjusted_mosaic( images: HObject, hom_matrices_2d: Sequence[float], stacking_order: MaybeSequence[Union[str, int]], transform_domain: str ) -> Tuple[HObject, Sequence[float]]

Herror T_gen_bundle_adjusted_mosaic( 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

HImage HImage::GenBundleAdjustedMosaic( const HHomMat2DArray& HomMatrices2D, const wchar_t* StackingOrder, const wchar_t* TransformDomain, HHomMat2D* TransMat2D ) const (Windows only)

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_mosaicGenBundleAdjustedMosaic combines the input images contained in the object Imagesimagesimages into a mosaic image MosaicImagemosaicImagemosaic_image. The relative positions of the images are defined by 3x3 projective transformation matrices. The array HomMatrices2DhomMatrices2Dhom_matrices_2d contains a sequence of these linearized matrices. The transformation matrices can be computed with bundle_adjust_mosaicBundleAdjustMosaic.

The origin of MosaicImagemosaicImagemosaic_image 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 StackingOrderstackingOrderstacking_order. 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" is given instead of an array of integers, the canonical order (images in the order used in Imagesimagesimages) will be used.

The parameter TransformDomaintransformDomaintransform_domain can be used to determine whether the domains of Imagesimagesimages 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 TransformDomaintransformDomaintransform_domain is set to 'false'"false" the domain of the input images is ignored and the complete images are transformed.

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

Execution informationπŸ”—

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

ParametersπŸ”—

Imagesimagesimages (input_object) (multichannel-)image-array β†’ object (byte / uint2 / real)HObject (byte / uint2 / real)HImage (byte / uint2 / real)HObject (byte / uint2 / real)Hobject (byte / uint2 / real)

Input images.

MosaicImagemosaicImagemosaic_image (output_object) (multichannel-)image β†’ object (byte / uint2 / real)HObject (byte / uint2 / real)HImage (byte / uint2 / real)HObject (byte / uint2 / real)Hobject * (byte / uint2 / real)

Output image.

HomMatrices2DhomMatrices2Dhom_matrices_2d (input_control) hom_mat2d-array β†’ (real)HTuple (double)HHomMat2D, HTuple (double)Sequence[float]Htuple (double)

Array of 3x3 projective transformation matrices.

StackingOrderstackingOrderstacking_order (input_control) string(-array) β†’ (string / integer)HTuple (HString / Hlong)HTuple (string / int / long)MaybeSequence[Union[str, int]]Htuple (char* / Hlong)

Stacking order of the images in the mosaic.

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

TransformDomaintransformDomaintransform_domain (input_control) string β†’ (string)HTuple (HString)HTuple (string)strHtuple (char*)

Should the domains of the input images also be transformed?

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

TransMat2DtransMat2Dtrans_mat_2d (output_control) hom_mat2d β†’ (real)HTuple (double)HHomMat2D, HTuple (double)Sequence[float]Htuple (double)

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

Combinations with other operatorsπŸ”—

Combinations

Possible predecessors

bundle_adjust_mosaicBundleAdjustMosaic

Alternatives

gen_projective_mosaicGenProjectiveMosaic

See also

projective_trans_imageProjectiveTransImage, projective_trans_image_sizeProjectiveTransImageSize, projective_trans_regionProjectiveTransRegion, projective_trans_contour_xldProjectiveTransContourXld, projective_trans_point_2dProjectiveTransPoint2d, projective_trans_pixelProjectiveTransPixel

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