tile_imagestile_imagesTileImagesTileImages (Operator)

Name

tile_imagestile_imagesTileImagesTileImages — Zusammenfügen von mehreren Bildobjekten zu einem großen Bild.

Signatur

tile_images(Images : TiledImage : NumColumns, TileOrder : )

Herror tile_images(const Hobject Images, Hobject* TiledImage, const Hlong NumColumns, const char* TileOrder)

Herror T_tile_images(const Hobject Images, Hobject* TiledImage, const Htuple NumColumns, const Htuple TileOrder)

void TileImages(const HObject& Images, HObject* TiledImage, const HTuple& NumColumns, const HTuple& TileOrder)

HImage HImage::TileImages(Hlong NumColumns, const HString& TileOrder) const

HImage HImage::TileImages(Hlong NumColumns, const char* TileOrder) const

HImage HImage::TileImages(Hlong NumColumns, const wchar_t* TileOrder) const   (Nur Windows)

static void HOperatorSet.TileImages(HObject images, out HObject tiledImage, HTuple numColumns, HTuple tileOrder)

HImage HImage.TileImages(int numColumns, string tileOrder)

Beschreibung

tile_imagestile_imagesTileImagesTileImagesTileImages fügt mehrere Bildobjekte, die die gleiche Anzahl von Kanälen besitzen müssen, durch Kachelung zu einem großen Bild zusammen. Das Eingabeobjekt ImagesImagesImagesImagesimages besteht aus Num Bildern, die unterschiedlich groß sein können. Das Ausgabebild TiledImageTiledImageTiledImageTiledImagetiledImage besteht aus einem Bildobjekt, das genauso viele Kanäle besitzt, wie die Eingabebilder. Im Ausgabebild sind die Num Eingabekanäle in NumColumnsNumColumnsNumColumnsNumColumnsnumColumns Spalten gekachelt. Jede Kachel besitzt dieselbe Größe, die sich aus der maximalen Breite und Höhe der Eingabebilder bestimmt. Falls ein Eingabebild kleiner als die Kachelgröße ist, wird es in die Mitte der entsprechenden Kachel kopiert. Der Parameter TileOrderTileOrderTileOrderTileOrdertileOrder legt die Richtung fest, in der die Eingabekanäle in die Ausgabe kopiert werden, falls dies nicht schon durch NumColumnsNumColumnsNumColumnsNumColumnsnumColumns festgelegt wird (d.h., falls NumColumnsNumColumnsNumColumnsNumColumnsnumColumns != 1 und NumColumnsNumColumnsNumColumnsNumColumnsnumColumns != Num). Falls TileOrderTileOrderTileOrderTileOrdertileOrder = 'horizontal'"horizontal""horizontal""horizontal""horizontal", werden die Bilder in horizontaler Richtung kopiert, d.h. das zweite Eingabebild liegt rechts neben dem ersten Eingabebild. Falls TileOrderTileOrderTileOrderTileOrdertileOrder = 'vertical'"vertical""vertical""vertical""vertical", werden die Bilder in vertikaler Richtung kopiert, d.h. das zweite Eingabebild liegt unter dem ersten Eingabebild. Der Definitionsbereich (die Region) des Ausgabebildes TiledImageTiledImageTiledImageTiledImagetiledImage wird berechnet, indem die Regionen des Eingabebildes ImagesImagesImagesImagesimages an die entsprechenden Stellen im Ausgabebild kopiert werden. Falls Num kein Vielfaches von NumColumnsNumColumnsNumColumnsNumColumnsnumColumns ist, hat das Ausgabebild undefinierte Grauwerte in der unteren linken Ecke des Bildes. Die Ausgaberegion ist entsprechend gesetzt.

Ausführungsinformationen

Parameter

ImagesImagesImagesImagesimages (input_object)  (multichannel-)image-array objectHImageHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real)

Eingabebilder.

TiledImageTiledImageTiledImageTiledImagetiledImage (output_object)  (multichannel-)image objectHImageHImageHobject * (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real)

Gekacheltes Ausgabegild.

NumColumnsNumColumnsNumColumnsNumColumnsnumColumns (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl der Spalten, die für das Ausgabebild verwendet werden

Defaultwert: 1

Wertevorschläge: 1, 2, 3, 4, 5, 6, 7

Restriktion: NumColumns >= 1

TileOrderTileOrderTileOrderTileOrdertileOrder (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Reihenfolge der Eingabebilder im Ausgabebild.

Defaultwert: 'vertical' "vertical" "vertical" "vertical" "vertical"

Werteliste: 'horizontal'"horizontal""horizontal""horizontal""horizontal", 'vertical'"vertical""vertical""vertical""vertical"

Beispiel (HDevelop)

* Grab 5 (multi-channel) images and stack them vertically.
gen_empty_obj (Images)
for I := 1 to 5 by 1
    grab_image_async (ImageGrabbed, AcqHandle, -1)
    concat_obj (Images, ImageGrabbed, Images)
endfor
tile_images (Images, TiledImage, 1, 'vertical')

Ergebnis

Sind die Parameterwerte korrekt und tritt kein Fehler während der Berechnung auf, liefert tile_imagestile_imagesTileImagesTileImagesTileImages den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt sich mittels set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

append_channelappend_channelAppendChannelAppendChannelAppendChannel

Alternativen

tile_channelstile_channelsTileChannelsTileChannelsTileChannels, tile_images_offsettile_images_offsetTileImagesOffsetTileImagesOffsetTileImagesOffset

Siehe auch

change_formatchange_formatChangeFormatChangeFormatChangeFormat, crop_partcrop_partCropPartCropPartCropPart, crop_rectangle1crop_rectangle1CropRectangle1CropRectangle1CropRectangle1

Modul

Foundation