Back to Aurora Vision Library website

You are here: Start » Function Reference » Image » Image Spatial Transforms » DownsampleImage

DownsampleImage


Header: AVL.h
Namespace: avl
Module: FoundationBasic

Shrinks an image by the factor of two along each axis.

Applications: Usually used to speed-up image analysis at the cost of reduced precision. It is internally used to implement the pyramid strategy in template matching filters.

Syntax

C++
C#
 
void avl::DownsampleImage
(
	const avl::Image& inImage,
	const int inScaleStep,
	avl::DownsampleFunction::Type inFunction,
	avl::Image& outImage
)

Parameters

Name Type Range Default Description
Input value inImage const Image& Input image
Input value inScaleStep const int 0 - 12 1 Defines how many times the image size is divided by 2
Input value inFunction DownsampleFunction::Type Mean
Output value outImage Image& Output image

Description

The operation shrinks the inImage reducing its dimensions by a factor of two inScaleStep times.

Remarks

The operation produces a new image by averaging four neighboring pixels from the source image repeatedly. New width and height of image are always rounded up, thus pixels from source image at last row or column are averaged in pairs or copied when corresponding dimension is odd.

This operation can be used as faster replacement for ShrinkImageNTimes.

Hardware Acceleration

This operation is optimized for SSE2 technology for pixels of types: UINT8, SINT8, UINT16, SINT16, SINT32, REAL.

This operation is optimized for AVX2 technology for pixels of types: UINT8, SINT8, UINT16, SINT16, SINT32, REAL.

This operation is optimized for NEON technology for pixels of types: UINT8, SINT8, UINT16, SINT16, SINT32, REAL.

This operation supports automatic parallelization for multicore and multiprocessor systems.

See Also