tile_channelstile_channelsTileChannelsTileChannels (Operator)

Name

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

Beschreibung

tile_channelstile_channelsTileChannelsTileChannelsTileChannels 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 TiledImageTiledImageTiledImageTiledImagetiledImage besteht aus einem einzigen Kanal, in dem die Num Eingabekanäle in NumColumnsNumColumnsNumColumnsNumColumnsnumColumns Spalten gekachelt worden sind. Insbesondere kann tile_channelstile_channelsTileChannelsTileChannelsTileChannels also keine Farbbilder zusammenfügen. Hierzu kann tile_imagestile_imagesTileImagesTileImagesTileImages verwendet werden. 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. der zweite Kanal des Eingabebildes liegt rechts neben dem ersten Kanal. Falls TileOrderTileOrderTileOrderTileOrdertileOrder = '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 TiledImageTiledImageTiledImageTiledImagetiledImage wird berechnet, indem die Region des Eingabebildes ImageImageImageImageimage an die entsprechenden Stellen im Ausgabebild kopiert wird. 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

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

Eingabebild.

TiledImageTiledImageTiledImageTiledImagetiledImage (output_object)  singlechannelimage(-array) 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 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_channelsTileChannelsTileChannelsTileChannels 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_imagestile_imagesTileImagesTileImagesTileImages, tile_images_offsettile_images_offsetTileImagesOffsetTileImagesOffsetTileImagesOffset

Siehe auch

change_formatchange_formatChangeFormatChangeFormatChangeFormat, crop_partcrop_partCropPartCropPartCropPart, crop_rectangle1crop_rectangle1CropRectangle1CropRectangle1CropRectangle1

Modul

Foundation