Back to Aurora Vision Library Lite website

You are here: Start » Image » Image Combinators » LerpImages

LerpImages


Header: AVL.h
Namespace: avl

Interpolates two images linearly pixel by pixel.

Syntax

void avl::LerpImages
(
	const avl::Image& inImage1,
	const avl::Image& inImage2,
	atl::Optional<const avl::Region&> inRoi,
	float inLambda,
	avl::Image& outImage
)

Parameters

Name Type Range Default Description
Input value inImage1 const Image& First input image
Input value inImage2 const Image& Second input image
Input value inRoi Optional<const Region&> NIL Range of pixels to be processed
Input value inLambda float 0.0 - 1.0 0.5f Interpolation between the input images where 0.0 value is equal to inImage1 and 1.0 to inImage2
Output value outImage Image& Output image

In-place Processing

This function supports in-place data processing - you can pass the same reference to inImage1 and outImage, inImage2 and outImage

Read more about In-place Computation.

Description

The operation computes the linear interpolation of two images. Each pixel of the output image is computed as follows. \[ outImage[i,j] = (1-inLambda) \cdot inImage0[i,j] + inLambda \cdot inImage1[i,j] \]

In multichannel (color) images each pixel channel is processed separately.

The operation requires that the images being processed have equal format and dimensions, otherwise an error with appropriate description occurs. To obtain an image of desired dimensions one can use ResizeImage or CropImage filter. To alter the pixel type of an image one can use ConvertPixelType filter. ConvertToMultichannel and AverageChannels filters allow to alter the number of image channels.

Hardware Acceleration

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

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

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

This operation supports automatic parallelization for multicore and multiprocessor systems.

Errors

List of possible exceptions:

Error type Description
DomainError Image formats are not the same in LerpImages.
DomainError Image sizes are not equal in LerpImages.
DomainError Region exceeds an input image in LerpImages.

See Also

  • BlendImages – Computes weighted sum pixel by pixel.