gen_bundle_adjusted_mosaicT_gen_bundle_adjusted_mosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaic (Operator)
Name
gen_bundle_adjusted_mosaicT_gen_bundle_adjusted_mosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaic
— Kombinieren mehrerer Bilder zu einem Mosaikbild.
Signatur
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)
Beschreibung
gen_bundle_adjusted_mosaicgen_bundle_adjusted_mosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaicGenBundleAdjustedMosaic
setzt die Eingabebilder, welche
im Objekt ImagesImagesImagesImagesimages
enthalten sind, zu einem Mosaikbild
MosaicImageMosaicImageMosaicImageMosaicImagemosaicImage
zusammen. Die Relativpositionen der Bilder
zueinander werden dabei durch 3x3 projektive
Transformationsmatrizen beschrieben. Das Array
HomMatrices2DHomMatrices2DHomMatrices2DHomMatrices2DhomMatrices2D
besteht aus einer Aufeinanderfolge solcher
linearisierter Matrizen. Die Transformationsmatrizen können mit
bundle_adjust_mosaicbundle_adjust_mosaicBundleAdjustMosaicBundleAdjustMosaicBundleAdjustMosaic
berechnet werden.
Der Bildausschnitt von MosaicImageMosaicImageMosaicImageMosaicImagemosaicImage
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 StackingOrderStackingOrderStackingOrderStackingOrderstackingOrder
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" angegeben, so wird die
kanonische Ordnung (Bilder in der Reihenfolge in ImagesImagesImagesImagesimages
)
verwendet.
Mit TransformDomainTransformDomainTransformDomainTransformDomaintransformDomain
kann festgelegt werden, ob auch die
Definitionsbereiche von ImagesImagesImagesImagesimages
transformiert werden. Da
die Transformation der Definitionsbereiche Zeit kostet, kann dieser
Parameter dazu verwendet werden, festzulegen, ob dies erwünscht
ist. Wenn TransformDomainTransformDomainTransformDomainTransformDomaintransformDomain
auf 'false'"false""false""false""false" gesetzt
wird, wird der Definitionsbereich der Eingabebilder ignoriert.
Somit werden die kompletten Bilder transformiert.
Als Ausgabe gibt der Parameter TransMat2DTransMat2DTransMat2DTransMat2DtransMat2D
eine projektiven
Transformationsmatrix, die die Translation beschreibt, die notwendig
war, um alle Bilder vollständig in das Ausgabebild abzubilden.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
ImagesImagesImagesImagesimages
(input_object) (multichannel-)image-array →
objectHImageHImageHobject (byte / uint2 / real)
Eingabebilder.
MosaicImageMosaicImageMosaicImageMosaicImagemosaicImage
(output_object) (multichannel-)image →
objectHImageHImageHobject * (byte / uint2 / real)
Ergebnisbild.
HomMatrices2DHomMatrices2DHomMatrices2DHomMatrices2DhomMatrices2D
(input_control) hom_mat2d-array →
HHomMat2D, HTupleHTupleHtuple (real) (double) (double) (double)
Array von 3x3 projektiven
Transformationsmatrizen.
StackingOrderStackingOrderStackingOrderStackingOrderstackingOrder
(input_control) string(-array) →
HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Reihenfolge der Bilder im Mosaik.
Defaultwert:
'default'
"default"
"default"
"default"
"default"
Wertevorschläge: 'default'"default""default""default""default"
TransformDomainTransformDomainTransformDomainTransformDomaintransformDomain
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Sollen die Regionen der Eingabebilder auch
transformiert werden?
Defaultwert:
'false'
"false"
"false"
"false"
"false"
Werteliste: 'false'"false""false""false""false", 'true'"true""true""true""true"
TransMat2DTransMat2DTransMat2DTransMat2DtransMat2D
(output_control) hom_mat2d →
HHomMat2D, HTupleHTupleHtuple (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_mosaicBundleAdjustMosaicBundleAdjustMosaicBundleAdjustMosaic
Alternativen
gen_projective_mosaicgen_projective_mosaicGenProjectiveMosaicGenProjectiveMosaicGenProjectiveMosaic
Siehe auch
projective_trans_imageprojective_trans_imageProjectiveTransImageProjectiveTransImageProjectiveTransImage
,
projective_trans_image_sizeprojective_trans_image_sizeProjectiveTransImageSizeProjectiveTransImageSizeProjectiveTransImageSize
,
projective_trans_regionprojective_trans_regionProjectiveTransRegionProjectiveTransRegionProjectiveTransRegion
,
projective_trans_contour_xldprojective_trans_contour_xldProjectiveTransContourXldProjectiveTransContourXldProjectiveTransContourXld
,
projective_trans_point_2dprojective_trans_point_2dProjectiveTransPoint2dProjectiveTransPoint2dProjectiveTransPoint2d
,
projective_trans_pixelprojective_trans_pixelProjectiveTransPixelProjectiveTransPixelProjectiveTransPixel
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