Back to Adaptive Vision Library Lite website

You are here: Start » Image Spatial Transforms » ResizeImage

ResizeImage


Header: AVL.h
Namespace: avl

Enlarges or shrinks an image to new dimensions.

Syntax

void avl::ResizeImage
(
	const avl::Image& inImage,
	atl::Optional<int> inNewWidth,
	atl::Optional<int> inNewHeight,
	avl::ResizeMethod::Type inResizeMethod,
	avl::Image& outImage
)

Parameters

Name Type Range Default Description
inImage const Image& Input image
inNewWidth Optional<int> 1 - 65535 NIL
inNewHeight Optional<int> 1 - 65535 NIL
inResizeMethod ResizeMethod::Type
outImage Image& Output image

Description

The operation stretches or shrinks the inImage so that the dimensions of the outImage equal inNewWidth, inNewHeight. Three modes of pixel interpolation are available, with Area mode giving best results, but being most computationally expensive.

Examples

ResizeImage performed on the sample image with inNewWidth = 300, inNewHeight = 200.

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

This operation is optimized for SSE2 technology for pixels of types: UINT8 (when inResizeMethod = Area), UINT16 (when inResizeMethod = Area), 3xUINT8 (when inResizeMethod = Area), 3xUINT16 (when inResizeMethod = Area).

This operation is optimized for AVX2 technology for pixels of types: UINT8 (when inResizeMethod = Area), UINT16 (when inResizeMethod = Area), 3xUINT8 (when inResizeMethod = Area), 3xUINT16 (when inResizeMethod = Area).

Errors

List of possible exceptions:

Error type Description
DomainError Empty image on input in ResizeImage.
DomainError Input and output images are not distinct in ResizeImage.

See Also