ImageTools - Maple Programming Help

Home : Support : Online Help : Graphics : Image Processing : ImageTools Package : ImageTools/SetLayer

ImageTools

 SetLayer
 insert a layer into a multi-layer image

 Calling Sequence SetLayer( img, img_layer, layer, opts )

Parameters

 img - ColorImage or ColorAImage; input image img_layer - GrayImage; input layer layer - 1,2,3,4; layer index opts - (optional) equation(s) of the form option = value; specify options for the SetLayer command

Options

 • inplace = truefalse
 Specifies whether the operation is performed in-place. This can be used to avoid allocating memory. The default is false.
 • output = Image
 Specifies a data structure into which the output is written. This can be used to avoid allocating memory. The size and number of layers must match that of the input. The dimensions of the output image are adjusted so that the row and column indices match the input. The output option overrides the inplace option. The default is NULL.

Description

 • The SetLayer command replaces a single layer within a multi-layer image.
 • The img parameter is the input image and must be of type ColorImage or ColorAImage.
 • The img_layer parameter is the image that is inserted into img. It must be of type GrayImage.
 • The layer parameter is the index of the layer to insert. It is an integer from 1 to 3 for a ColorImage, or from 1 to 4 for a ColorAImage.

Examples

 > $\mathrm{with}\left(\mathrm{ImageTools}\right):$

Create a blank (black) color image and three grayscale images.

 > $\mathrm{img}≔\mathrm{Create}\left(100,200,3\right):$
 > $\mathrm{Embed}\left(\mathrm{img}\right)$

 > $\mathrm{img_r}≔\mathrm{Create}\left(100,200,\left(r,c\right)↦\mathrm{evalf}\left(\left(0.5+0.5\cdot \mathrm{sin}\left(\left(0.005+0.003\cdot c\right)\cdot c\right)\right)\cdot \left(0.5+0.5\cdot \mathrm{sin}\left(0.15\cdot r\right)\right)\right)\right):$
 > $\mathrm{img_g}≔\mathrm{Create}\left(100,200,\left(r,c\right)↦0.5+\mathrm{evalf}\left(\mathrm{exp}\left(-\frac{r}{50}\right)\cdot 0.5\cdot \mathrm{sin}\left(\frac{c}{20}\right)\right)\right):$
 > $\mathrm{img_b}≔\mathrm{Create}\left(100,200,\left(r,c\right)↦\mathrm{evalf}\left(\frac{r}{100}\right)\right):$

Insert, separately, the grayscale images into the blank color image, as the red, green, and blue layers.

 > $\mathrm{img1}≔\mathrm{SetLayer}\left(\mathrm{img},\mathrm{img_r},1\right):$
 > $\mathrm{img2}≔\mathrm{SetLayer}\left(\mathrm{img},\mathrm{img_g},2\right):$
 > $\mathrm{img3}≔\mathrm{SetLayer}\left(\mathrm{img},\mathrm{img_b},3\right):$

Insert all three grayscale images into the blank color image.

 > $\mathrm{SetLayer}\left(\mathrm{img},\mathrm{img_r},1,\mathrm{inplace}\right):$
 > $\mathrm{SetLayer}\left(\mathrm{img},\mathrm{img_g},2,\mathrm{inplace}\right):$
 > $\mathrm{SetLayer}\left(\mathrm{img},\mathrm{img_b},3,\mathrm{inplace}\right):$

View the results.

 > $\mathrm{Embed}\left(\left[\left[\mathrm{img_r},\mathrm{img_g},\mathrm{img_b}\right],\left[\mathrm{img1},\mathrm{img2},\mathrm{img3}\right]\right]\right)$

 >