You are here: Start » Image Point Transforms » RescalePixels
RescalePixels
Applies linear transformation to pixel values.
Syntax
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 | |
---|---|---|---|---|
inImage | const Image& | Input image | ||
inRoi | Optional<const Region&> | NIL | Range of pixels to be processed | |
inA | float | 1.0f | Value multiplied | |
inB | float | 0.0f | Value added | |
outImage | Image& | Output image |
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.
In-place Processing
This function supports in-place data processing - you can pass the same reference to inImage and outImage
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.