tile_channelstile_channelsTileChannelsTileChannelstile_channels (Operator)

Name

tile_channelstile_channelsTileChannelsTileChannelstile_channels — Zusammenfügen von mehreren Bildern zu einem großen Bild.

Signatur

tile_channels(Image : TiledImage : NumColumns, TileOrder : )

Herror tile_channels(const Hobject Image, Hobject* TiledImage, const Hlong NumColumns, const char* TileOrder)

Herror T_tile_channels(const Hobject Image, Hobject* TiledImage, const Htuple NumColumns, const Htuple TileOrder)

void TileChannels(const HObject& Image, HObject* TiledImage, const HTuple& NumColumns, const HTuple& TileOrder)

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

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

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

static void HOperatorSet.TileChannels(HObject image, out HObject tiledImage, HTuple numColumns, HTuple tileOrder)

HImage HImage.TileChannels(int numColumns, string tileOrder)

def tile_channels(image: HObject, num_columns: int, tile_order: str) -> HObject

Beschreibung

tile_channelstile_channelsTileChannelsTileChannelsTileChannelstile_channels fügt ein aus mehreren Kanälen bestehendes Bild durch Kachelung zu einem großen einkanaligen Bild zusammen. Das Eingabebild ImageImageImageImageimageimage besteht aus Num Bildern gleicher Größe, die in den einzelnen Kanälen gespeichert werden. Alle Kanäle von ImageImageImageImageimageimage müssen vom gleichen Typ sein. Das Ausgabebild TiledImageTiledImageTiledImageTiledImagetiledImagetiled_image besteht aus einem einzigen Kanal, in dem die Num Eingabekanäle in NumColumnsNumColumnsNumColumnsNumColumnsnumColumnsnum_columns Spalten gekachelt worden sind. Insbesondere kann tile_channelstile_channelsTileChannelsTileChannelsTileChannelstile_channels also keine Farbbilder zusammenfügen. Hierzu kann tile_imagestile_imagesTileImagesTileImagesTileImagestile_images verwendet werden. 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. der zweite Kanal des Eingabebildes liegt rechts neben dem ersten Kanal. Falls TileOrderTileOrderTileOrderTileOrdertileOrdertile_order = 'vertical'"vertical""vertical""vertical""vertical""vertical", werden die Bilder in vertikaler Richtung kopiert, d.h. der zweite Kanal des Eingabebildes liegt unter dem ersten Kanal. Der Definitionsbereich (die Region) des Ausgabebildes TiledImageTiledImageTiledImageTiledImagetiledImagetiled_image wird berechnet, indem die Region des Eingabebildes ImageImageImageImageimageimage an die entsprechenden Stellen im Ausgabebild kopiert wird. 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

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

Eingabebild.

TiledImageTiledImageTiledImageTiledImagetiledImagetiled_image (output_object)  singlechannelimage(-array) 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 single-channel images and stack them vertically.
gen_rectangle1 (Image, 0, 0, Height-1, Width-1)
for I := 1 to 5 by 1
    grab_image_async (ImageGrabbed, AcqHandle, -1)
    append_channel (Image, ImageGrabbed, Image)
endfor
tile_channels (Image, TiledImage, 1, 'vertical')

Ergebnis

Sind die Parameterwerte korrekt und tritt kein Fehler während der Berechnung auf, liefert tile_channelstile_channelsTileChannelsTileChannelsTileChannelstile_channels 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>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

append_channelappend_channelAppendChannelAppendChannelAppendChannelappend_channel

Alternativen

tile_imagestile_imagesTileImagesTileImagesTileImagestile_images, tile_images_offsettile_images_offsetTileImagesOffsetTileImagesOffsetTileImagesOffsettile_images_offset

Siehe auch

change_formatchange_formatChangeFormatChangeFormatChangeFormatchange_format, crop_partcrop_partCropPartCropPartCropPartcrop_part, crop_rectangle1crop_rectangle1CropRectangle1CropRectangle1CropRectangle1crop_rectangle1

Modul

Foundation