You are here: Start » Function Reference » Image Point Transforms » LogarithmImage
Computes a natural logarithm of each pixel.
Header: | AVL.h |
---|
Syntax
void avl::LogarithmImage ( const avl::Image& inImage, atl::Optional<const avl::Region&> inRoi, atl::Optional<const float&> inScale, float inOffset, bool inNormalizeZero, avl::Image& outImage, avl::Profile& diagLutProfile )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inImage | const Image& | Input image | |||
inRoi | Optional<const Region&> | NIL | Region of interest | ||
inScale | Optional<const float&> | NIL | Scaling factor (default: 255) | ||
inOffset | float | 1.0 - | 1.0f | Offset factor | |
inNormalizeZero | bool | Specifies whether the output range should be rescaled to start from 0 | |||
outImage | Image& | Output image | |||
diagLutProfile | Profile& | Profile depicting the resulting look-up table of the logarithm transform |
Requirements
For input inImage only pixel formats are supported: int8, uint8, int16, uint16, int32.
Read more about pixel formats in Image documentation.
Description
The operation applies logarithmic operator to each pixel of an image. Logarithmic operator is defined as follows:
\[inScale \cdot \frac{log(inOffset + |P(x,y)|)}{log(inOffset + M)}\]
where:
- M is the maximum of the inImage type (i.e. 255 for UInt8, 127 for Int8).
- inScale is the expected maximum value of the transformation. If set to Auto it will result in value 127 for Int8 image and 255 for other image types.
- inOffset value corresponds to the camera's black level. Its default value is equal 1 and causes the strongest possible transform.
When inNormalizeZero is set to True, the result is not only scaled, but also normalized so that pixel value 0 is still transformed into value 0. This assures that the entire output value range is utilized.
Examples
In-place Processing
This function supports in-place data processing - you can pass the same reference to inImage and outImage
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.