gen_bundle_adjusted_mosaicT_gen_bundle_adjusted_mosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaicgen_bundle_adjusted_mosaic (Operator)

Name

gen_bundle_adjusted_mosaicT_gen_bundle_adjusted_mosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaicgen_bundle_adjusted_mosaic — Kombinieren mehrerer Bilder zu einem Mosaikbild.

Signatur

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)

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

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

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)

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]]

Beschreibung

gen_bundle_adjusted_mosaicgen_bundle_adjusted_mosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaicgen_bundle_adjusted_mosaic setzt die Eingabebilder, welche im Objekt ImagesImagesImagesImagesimagesimages enthalten sind, zu einem Mosaikbild MosaicImageMosaicImageMosaicImageMosaicImagemosaicImagemosaic_image zusammen. Die Relativpositionen der Bilder zueinander werden dabei durch 3x3 projektive Transformationsmatrizen beschrieben. Das Array HomMatrices2DHomMatrices2DHomMatrices2DHomMatrices2DhomMatrices2Dhom_matrices_2d besteht aus einer Aufeinanderfolge solcher linearisierter Matrizen. Die Transformationsmatrizen können mit bundle_adjust_mosaicbundle_adjust_mosaicBundleAdjustMosaicBundleAdjustMosaicBundleAdjustMosaicbundle_adjust_mosaic berechnet werden.

Der Bildausschnitt von MosaicImageMosaicImageMosaicImageMosaicImagemosaicImagemosaic_image und seine Größe werden so gewählt, dass alle Ausgangsbilder gerade ganz sichtbar sind.

Die Reihenfolge, in der die Bilder dem Mosaik hinzugefügt werden, wird durch StackingOrderStackingOrderStackingOrderStackingOrderstackingOrderstacking_order bestimmt. Das erste Element dieses Arrays bildet das unterste Bild des Mosaiks, während das letzte ganz oben auf dem Mosaik erscheint. Wird statt einem Array von ganzen Zahlen der Wert 'default'"default""default""default""default""default" angegeben, so wird die kanonische Ordnung (Bilder in der Reihenfolge in ImagesImagesImagesImagesimagesimages) verwendet.

Mit TransformDomainTransformDomainTransformDomainTransformDomaintransformDomaintransform_domain kann festgelegt werden, ob auch die Definitionsbereiche von ImagesImagesImagesImagesimagesimages transformiert werden. Da die Transformation der Definitionsbereiche Zeit kostet, kann dieser Parameter dazu verwendet werden, festzulegen, ob dies erwünscht ist. Wenn TransformDomainTransformDomainTransformDomainTransformDomaintransformDomaintransform_domain auf 'false'"false""false""false""false""false" gesetzt wird, wird der Definitionsbereich der Eingabebilder ignoriert. Somit werden die kompletten Bilder transformiert.

Als Ausgabe gibt der Parameter TransMat2DTransMat2DTransMat2DTransMat2DtransMat2Dtrans_mat_2d eine projektive 3x3 Transformationsmatrix, die die Translation beschreibt, die notwendig war, um alle Bilder vollständig in das Ausgabebild abzubilden.

Ausführungsinformationen

Parameter

ImagesImagesImagesImagesimagesimages (input_object)  (multichannel-)image-array objectHImageHObjectHImageHobject (byte / uint2 / real)

Eingabebilder.

MosaicImageMosaicImageMosaicImageMosaicImagemosaicImagemosaic_image (output_object)  (multichannel-)image objectHImageHObjectHImageHobject * (byte / uint2 / real)

Ergebnisbild.

HomMatrices2DHomMatrices2DHomMatrices2DHomMatrices2DhomMatrices2Dhom_matrices_2d (input_control)  hom_mat2d-array HHomMat2D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Array von 3x3 projektiven Transformationsmatrizen.

StackingOrderStackingOrderStackingOrderStackingOrderstackingOrderstacking_order (input_control)  string(-array) HTupleMaybeSequence[Union[str, int]]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Reihenfolge der Bilder im Mosaik.

Defaultwert: 'default' "default" "default" "default" "default" "default"

Wertevorschläge: 'default'"default""default""default""default""default"

TransformDomainTransformDomainTransformDomainTransformDomaintransformDomaintransform_domain (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Sollen die Regionen der Eingabebilder auch transformiert werden?

Defaultwert: 'false' "false" "false" "false" "false" "false"

Werteliste: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"

TransMat2DTransMat2DTransMat2DTransMat2DtransMat2Dtrans_mat_2d (output_control)  hom_mat2d HHomMat2D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

3x3 projektive Transformationsmatrix, die die Translation beschreibt, die notwendig war, um alle Bilder vollständig in das Ausgabebild abzubilden.

Vorgänger

bundle_adjust_mosaicbundle_adjust_mosaicBundleAdjustMosaicBundleAdjustMosaicBundleAdjustMosaicbundle_adjust_mosaic

Alternativen

gen_projective_mosaicgen_projective_mosaicGenProjectiveMosaicGenProjectiveMosaicGenProjectiveMosaicgen_projective_mosaic

Siehe auch

projective_trans_imageprojective_trans_imageProjectiveTransImageProjectiveTransImageProjectiveTransImageprojective_trans_image, projective_trans_image_sizeprojective_trans_image_sizeProjectiveTransImageSizeProjectiveTransImageSizeProjectiveTransImageSizeprojective_trans_image_size, projective_trans_regionprojective_trans_regionProjectiveTransRegionProjectiveTransRegionProjectiveTransRegionprojective_trans_region, projective_trans_contour_xldprojective_trans_contour_xldProjectiveTransContourXldProjectiveTransContourXldProjectiveTransContourXldprojective_trans_contour_xld, projective_trans_point_2dprojective_trans_point_2dProjectiveTransPoint2dProjectiveTransPoint2dProjectiveTransPoint2dprojective_trans_point_2d, projective_trans_pixelprojective_trans_pixelProjectiveTransPixelProjectiveTransPixelProjectiveTransPixelprojective_trans_pixel

Literatur

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.

Modul

Matching