You are here: Start » Image » Image Point Transforms » CorrectGamma
CorrectGamma
Header: | AVL.h |
---|---|
Namespace: | avl |
Performs gamma correction.
Applications: Image enhancement for human perception. For computer vision consider LogarithmImage.
Syntax
void avl::CorrectGamma ( const avl::Image& inImage, atl::Optional<const avl::Region&> inRoi, float inValue, avl::Image& outImage )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inImage | const Image& | Input image | |||
inRoi | Optional<const Region&> | NIL | Range of pixels to be processed | ||
inValue | float | 0.01 - 8.0 | 2.0f | Gamma coefficient, where 1.0 is neutral | |
outImage | Image& | Output image |
Requirements
For input inImage only pixel formats are supported: int8, uint8, int16, uint16, int32.
Read more about pixel formats in Image documentation.
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 gamma correction is a standard nonlinear transformation of pixel brightness that was developed as a tool for the compensation of CRT display input-output characteristic. The operation scales brightness of each inImage pixel to the 0.0 - 1.0 range, exponentiates it to the power of inValue, and then scales the result back to the pixel values range.
Examples
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Not supported inImage pixel format in CorrectGamma. Supported formats: Int8, UInt8, Int16, UInt16, Int32. |
See Also
- RescalePixels – Applies linear transformation to pixel values.