ImageTools - Maple Programming Help

Online Help

All Products    Maple    MapleSim


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

ImageTools

  

Scale

  

scale an image by the specified ratio or to the specified size

 

Calling Sequence

Parameters

Options

Description

Examples

Calling Sequence

Scale( img, scale, optScaleX, opts )

Parameters

img

-

Image; the image to scale

scale

-

numeric or range(integer); scale factor or desired height range of scaled image

optScaleX

-

(optional) numeric or range(integer); width scale factor or desired width range of image

opts

-

(optional) equation(s) of the form option = value; specify options for the Scale command

Options

• 

method = bspline or nearest

  

Specifies the method of interpolation. The default method is bspline.

• 

antialias = none or posint

  

Specifies the size of the antialiasing filter. To skip the antialiasing, use antialias = none. The default is none.

Description

• 

The Scale command rescales an image, producing a new image with the specified size.

• 

The img parameter is the input image.

• 

The scale parameter specifies either the desired scaling ratio, or the desired height of the scaled image. The former is expressed as a numeric value.  The latter is expressed as an integer range giving the desired resulting Array indices.

• 

The optional optScaleX parameter specifies a different ratio or a desired size for the width of the resulting image. It is expressed in the same form as the scale parameter. If optScaleX is omitted, which is the usual case, the image is scaled by the same ratio in both dimensions. If scale is specified as a range, a ratio is computed from that range and that ratio is applied to the width as well as the height.

• 

By default, scaling is done using bicubic B-spline interpolation, which is both reasonably fast, and produces excellent results. When reducing images using scale factors smaller than 1/2.5, the scaling is done in steps to avoid unnecessary information loss. For example, scaling by 1/4 is accomplished by scaling twice by 1/2. The nature of the algorithm makes this stepwise scaling unnecessary when enlarging an image.

• 

If the method=nearest option is specified, scaling is done using the nearest-neighbor algorithm. For enlargement, this tends to produce pixelated images. For reduction, it produces grainy images. However, the algorithm is very fast and is often suitable for producing low-quality thumbnails of an image.

• 

When applied to three-dimensional Arrays representing multi-channel images, for example RGB, the scaling is done separately for each channel (the channels do not interact).

Examples

withImageTools:

imgCreate200,300:

forito300doimg1..200,ievalf0.5+0.5sin0.005+0.003iiend do:

Embedimg

img_nearScaleimg,0.35,method=nearest,antialias=none:

img_bsplScaleimg,0.35,antialias=none:

img_near_aaScaleimg,0.35,method=nearest:

img_bspl_aaScaleimg,0.35:

Embedimg_near,img_bspl,img_near_aa,img_bspl_aa

img_near2Scaleimg_near,10.35,method=nearest:

img_bspl2Scaleimg_bspl,10.35:

img_near_aa2Scaleimg_near_aa,10.35,method=nearest:

img_bspl_aa2Scaleimg_bspl_aa,10.35:

Embedimg_near2,img_bspl2,img_near_aa2,img_bspl_aa2

See Also

ImageTools

 


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam