You are here: Start » Function Reference » Image » Image Point Transforms » DivideImage
Header: | AVL.h |
---|---|
Namespace: | avl |
Module: | FoundationLite |
Divides each pixel by a scalar value.
Syntax
void avl::DivideImage ( const avl::Image& inImage, atl::Optional<const avl::Region&> inRoi, float inValue, avl::Image& outImage )
Parameters
Name | Type | Default | Description | |
---|---|---|---|---|
![]() |
inImage | const Image& | Input image | |
![]() |
inRoi | Optional<const Region&> | NIL | Range of pixels to be processed |
![]() |
inValue | float | 2.0f | Divisor |
![]() |
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 decreases the brightness of the inImage dividing each of its pixels by a fixed value.
![\forall_{i,j} \text{\textbf{OutImage} }_{i,j} = \frac{\text{\textbf{InImage} }_{i,j} }{\text{\textbf{inValue} } }](../../img/filters/DivideImage.png)
Whenever the resulting value exceeds the range of pixel values, it is clipped to the nearest proper value.
Examples
![]() |
![]() |
DivideImage performed on the sample image with inValue = 2.0.
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 | Division by zero in DivideImage. |
DomainError | Region exceeds an input image in DivideImage. |
See Also
- MultiplyImage – Multiplies each pixel by a scalar value.