ClassesClassesClassesClasses | | | | Operators

tile_imagestile_imagesTileImagestile_imagesTileImagesTileImages (Operator)

Name

tile_imagestile_imagesTileImagestile_imagesTileImagesTileImages — Tile multiple image objects into a large image.

Signature

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)

Herror tile_images(Hobject Images, Hobject* TiledImage, const HTuple& NumColumns, const HTuple& TileOrder)

HImage HImageArray::TileImages(const HTuple& NumColumns, const HTuple& TileOrder) const

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

void HOperatorSetX.TileImages(
[in] IHUntypedObjectX* Images, [out] IHUntypedObjectX*TiledImage, [in] VARIANT NumColumns, [in] VARIANT TileOrder)

IHImageX* HImageX.TileImages(
[in] Hlong NumColumns, [in] BSTR TileOrder)

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

HImage HImage.TileImages(int numColumns, string tileOrder)

Description

tile_imagestile_imagesTileImagestile_imagesTileImagesTileImages tiles multiple input image objects, which must contain the same number of channels, into a large image. The input image object ImagesImagesImagesImagesImagesimages contains Num images, which may be of different size. The output image TiledImageTiledImageTiledImageTiledImageTiledImagetiledImage contains as many channels as the input images. In the output image the Num input images have been tiled into NumColumnsNumColumnsNumColumnsNumColumnsNumColumnsnumColumns columns. Each tile has the same size, which is determined by the maximum width and height of all input images. If an input image is smaller than the tile size it is copied to the center of the respective tile. The parameter TileOrderTileOrderTileOrderTileOrderTileOrdertileOrder determines the order in which the images are copied into the output in the cases in which this is not already determined by NumColumnsNumColumnsNumColumnsNumColumnsNumColumnsnumColumns (i.e., if NumColumnsNumColumnsNumColumnsNumColumnsNumColumnsnumColumns != 1 and NumColumnsNumColumnsNumColumnsNumColumnsNumColumnsnumColumns != Num). If TileOrderTileOrderTileOrderTileOrderTileOrdertileOrder = 'horizontal'"horizontal""horizontal""horizontal""horizontal""horizontal" the images are copied in the horizontal direction, i.e., the second image of ImagesImagesImagesImagesImagesimages will be to the right of the first image. If TileOrderTileOrderTileOrderTileOrderTileOrdertileOrder = 'vertical'"vertical""vertical""vertical""vertical""vertical" the images are copied in the vertical direction, i.e., the second image of ImagesImagesImagesImagesImagesimages will be below the first image. The domain of TiledImageTiledImageTiledImageTiledImageTiledImagetiledImage is obtained by copying the domains of ImagesImagesImagesImagesImagesimages to the corresponding locations in the output image. If Num is not a multiple of NumColumnsNumColumnsNumColumnsNumColumnsNumColumnsnumColumns the output image will have undefined gray values in the lower right corner of the image. The output domain will reflect this.

Parallelization

Parameters

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

Input images.

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

Tiled output image.

NumColumnsNumColumnsNumColumnsNumColumnsNumColumnsnumColumns (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Number of columns to use for the output image.

Default value: 1

Suggested values: 1, 2, 3, 4, 5, 6, 7

Restriction: NumColumns >= 1

TileOrderTileOrderTileOrderTileOrderTileOrdertileOrder (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Order of the input images in the output image.

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

List of values: 'horizontal'"horizontal""horizontal""horizontal""horizontal""horizontal", 'vertical'"vertical""vertical""vertical""vertical""vertical"

Example (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')

Result

tile_imagestile_imagesTileImagestile_imagesTileImagesTileImages returns 2 (H_MSG_TRUE) if all parameters are correct and no error occurs during execution. If the input is empty the behavior can be set via set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

append_channelappend_channelAppendChannelappend_channelAppendChannelAppendChannel

Alternatives

tile_channelstile_channelsTileChannelstile_channelsTileChannelsTileChannels, tile_images_offsettile_images_offsetTileImagesOffsettile_images_offsetTileImagesOffsetTileImagesOffset

See also

change_formatchange_formatChangeFormatchange_formatChangeFormatChangeFormat, crop_partcrop_partCropPartcrop_partCropPartCropPart, crop_rectangle1crop_rectangle1CropRectangle1crop_rectangle1CropRectangle1CropRectangle1

Module

Foundation


ClassesClassesClassesClasses | | | | Operators