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_channelsTileChannelsTileChannelstile_channels fügt ein aus mehreren Kanälen bestehendes Bild durch Kachelung zu einem großen einkanaligen Bild zusammen. Das Eingabebild ImageImageImageimageimage besteht aus Num Bildern gleicher Größe, die in den einzelnen Kanälen gespeichert werden. Das Ausgabebild TiledImageTiledImageTiledImagetiledImagetiled_image besteht aus einem einzigen Kanal, in dem die Num Eingabekanäle in NumColumnsNumColumnsNumColumnsnumColumnsnum_columns Spalten gekachelt worden sind. Insbesondere kann tile_channelstile_channelsTileChannelsTileChannelstile_channels also keine Farbbilder zusammenfügen. Hierzu kann tile_imagestile_imagesTileImagesTileImagestile_images verwendet werden. Der Parameter TileOrderTileOrderTileOrdertileOrdertile_order legt die Richtung fest, in der die Eingabekanäle in die Ausgabe kopiert werden, falls dies nicht schon durch NumColumnsNumColumnsNumColumnsnumColumnsnum_columns festgelegt wird (d.h., falls NumColumnsNumColumnsNumColumnsnumColumnsnum_columns != 1 und NumColumnsNumColumnsNumColumnsnumColumnsnum_columns != Num). Falls TileOrderTileOrderTileOrdertileOrdertile_order = '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 TileOrderTileOrderTileOrdertileOrdertile_order = '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 TiledImageTiledImageTiledImagetiledImagetiled_image wird berechnet, indem die Region des Eingabebildes ImageImageImageimageimage an die entsprechenden Stellen im Ausgabebild kopiert wird. Falls Num kein Vielfaches von NumColumnsNumColumnsNumColumnsnumColumnsnum_columns ist, hat das Ausgabebild undefinierte Grauwerte in der unteren linken Ecke des Bildes. Die Ausgaberegion ist entsprechend gesetzt.

Ausführungsinformationen

Parameter

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

Eingabebild.

TiledImageTiledImageTiledImagetiledImagetiled_image (output_object)  singlechannelimage(-array) objectHImageHObjectHObjectHobject * (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real)

Gekacheltes Ausgabebild.

NumColumnsNumColumnsNumColumnsnumColumnsnum_columns (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

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

Default: 1

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

Restriktion: NumColumns >= 1

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

Reihenfolge der Eingabebilder im Ausgabebild.

Default: 'vertical' "vertical" "vertical" "vertical" "vertical"

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

Vorgänger

append_channelappend_channelAppendChannelAppendChannelappend_channel

Alternativen

tile_imagestile_imagesTileImagesTileImagestile_images, tile_images_offsettile_images_offsetTileImagesOffsetTileImagesOffsettile_images_offset

Siehe auch

change_formatchange_formatChangeFormatChangeFormatchange_format, crop_partcrop_partCropPartCropPartcrop_part, crop_rectangle1crop_rectangle1CropRectangle1CropRectangle1crop_rectangle1

Modul

Foundation