tile_imagestile_imagesTileImagesTileImagestile_images (Operator)

Name

tile_imagestile_imagesTileImagesTileImagestile_images — 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)

def tile_images(images: HObject, num_columns: int, tile_order: str) -> HObject

Beschreibung

tile_imagestile_imagesTileImagesTileImagesTileImagestile_images fügt mehrere Bildobjekte, die die gleiche Anzahl von Kanälen besitzen müssen, durch Kachelung zu einem großen Bild zusammen. Das Eingabeobjekt ImagesImagesImagesImagesimagesimages besteht aus Num Bildern, die unterschiedlich groß sein können. Das Ausgabebild TiledImageTiledImageTiledImageTiledImagetiledImagetiled_image besteht aus einem Bildobjekt, das genauso viele Kanäle besitzt, wie die Eingabebilder. Im Ausgabebild sind die Num Eingabekanäle in NumColumnsNumColumnsNumColumnsNumColumnsnumColumnsnum_columns 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 TileOrderTileOrderTileOrderTileOrdertileOrdertile_order legt die Richtung fest, in der die Eingabekanäle in die Ausgabe kopiert werden, falls dies nicht schon durch NumColumnsNumColumnsNumColumnsNumColumnsnumColumnsnum_columns festgelegt wird (d.h., falls NumColumnsNumColumnsNumColumnsNumColumnsnumColumnsnum_columns != 1 und NumColumnsNumColumnsNumColumnsNumColumnsnumColumnsnum_columns != Num). Falls TileOrderTileOrderTileOrderTileOrdertileOrdertile_order = 'horizontal'"horizontal""horizontal""horizontal""horizontal""horizontal", werden die Bilder in horizontaler Richtung kopiert, d.h. das zweite Eingabebild liegt rechts neben dem ersten Eingabebild. Falls TileOrderTileOrderTileOrderTileOrdertileOrdertile_order = 'vertical'"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 TiledImageTiledImageTiledImageTiledImagetiledImagetiled_image wird berechnet, indem die Regionen des Eingabebildes ImagesImagesImagesImagesimagesimages an die entsprechenden Stellen im Ausgabebild kopiert werden. Falls Num kein Vielfaches von NumColumnsNumColumnsNumColumnsNumColumnsnumColumnsnum_columns ist, hat das Ausgabebild undefinierte Grauwerte in der unteren linken Ecke des Bildes. Die Ausgaberegion ist entsprechend gesetzt.

Ausführungsinformationen

Parameter

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

Eingabebilder.

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

Gekacheltes Ausgabebild.

NumColumnsNumColumnsNumColumnsNumColumnsnumColumnsnum_columns (input_control)  integer HTupleintHTupleHtuple (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

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

Reihenfolge der Eingabebilder im Ausgabebild.

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

Werteliste: 'horizontal'"horizontal""horizontal""horizontal""horizontal""horizontal", 'vertical'"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_imagesTileImagesTileImagesTileImagestile_images den Wert 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>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

append_channelappend_channelAppendChannelAppendChannelAppendChannelappend_channel

Alternativen

tile_channelstile_channelsTileChannelsTileChannelsTileChannelstile_channels, tile_images_offsettile_images_offsetTileImagesOffsetTileImagesOffsetTileImagesOffsettile_images_offset

Siehe auch

change_formatchange_formatChangeFormatChangeFormatChangeFormatchange_format, crop_partcrop_partCropPartCropPartCropPartcrop_part, crop_rectangle1crop_rectangle1CropRectangle1CropRectangle1CropRectangle1crop_rectangle1

Modul

Foundation