Back to Aurora Vision Library website

You are here: Start » Function Reference » Image » Image Point Transforms » RescalePixels

RescalePixels


Header: AVL.h
Namespace: avl
Module: FoundationLite

Applies linear transformation to pixel values.

Syntax

C++
C#
 
void avl::RescalePixels
(
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inRoi,
	float inA,
	float inB,
	avl::Image& outImage
)

Parameters

Name Type Default Description
Input value inImage const Image& Input image
Input value inRoi Optional<const Region&> NIL Range of pixels to be processed
Input value inA float 1.0f Value multiplied
Input value inB float 0.0f Value added
Output value outImage Image& Output image

In-place Processing

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

Read more about In-place Computation.

Description

The operation applies linear transformation to pixel values.

\[{\forall _{i,j} }{\bf{outImag} }{ {\bf{e} }_{ {\rm{i} },{\rm{j} } } }{\rm{ = } }{\bf{inA} }\cdot{\bf{inImag} }{ {\bf{e} }_{ {\rm{i} },{\rm{j} } } }{\rm{ + } }{\bf{inB} }\]

Whenever the resulting value exceeds the range of pixel values, it is clipped to the nearest proper value.

Hardware Acceleration

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

This operation supports automatic parallelization for multicore and multiprocessor systems.

Errors

List of possible exceptions:

Error type Description
DomainError Region exceeds an input image in RescalePixels.

See Also

  • ResaturateImage – Sets pixels below the low value to minimum, above the high value to maximum, and interpolates the rest.
  • AddToImage – Adds a scalar value to each pixel.
  • NormalizeImage – Rescales an image linearly, so that its minimum becomes inNewMinimum and the maximum of the remaining pixels becomes inNewMaximum.