You are here: Start » Function Reference » Image » Image Point Transforms » CorrectGamma
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationLite |
Performs gamma correction.
Applications: Image enhancement for human perception. For computer vision consider LogarithmImage.
Syntax
void fil::CorrectGamma ( const fil::Image& inImage, ftl::Optional<const fil::Region&> inRoi, float inValue, fil::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
![]() |
![]() |
![]() |
The CorrectGamma performed on the sample image with inValue = 2.0 (left image) and inValue = 0.5 (right image).
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.