CVB++ 14.0
Cvb::Foundation::Lut Namespace Reference

Namespace for collection of lookup table functions from the Foundation package. More...

Classes

class  LutLevel
 Struct that combines a LUT (lookup table) level and the value assigned to this level. More...
 

Enumerations

enum class  LutInterpolation { Constant , Linear , Cubic }
 Different approaches for interpolating between lookup table (LUT) values and levels. More...
 

Functions

template<class RANGE >
TypedRange< std::unique_ptr< Image >, int, RANGE >::type ApplyLut (const ImagePlane &plane, const RANGE &values)
 Apply a lookup table to an 8 bit per pixel input image plane. More...
 
template<class RANGE >
TypedRange< std::unique_ptr< Image >, std::uint8_t, RANGE >::type ApplyLut (const ImagePlane &plane, const RANGE &values)
 Apply a lookup table to an 8 bit per pixel input image plane. More...
 
template<class RANGE >
TypedRange< std::unique_ptr< Image >, LutLevel, RANGE >::type ApplyLut (const ImagePlane &plane, const RANGE &levels, LutInterpolation interpolation)
 Apply a lookup table, that is the result of interpolation between a series of levels and values, to an input image. More...
 

Detailed Description

Namespace for collection of lookup table functions from the Foundation package.

Remarks
CMake users: Link to imported target CVB::CvbFoundationLut

Enumeration Type Documentation

◆ LutInterpolation

enum class LutInterpolation
strong

Different approaches for interpolating between lookup table (LUT) values and levels.

Enumerator
Constant 

LUT values are constant between two LUT levels.

Linear 

Linear interpolation between two adjacent LUT levels.

Cubic 

Cubic interpolation between two adjacent LUT levels.

Function Documentation

◆ ApplyLut() [1/3]

TypedRange< std::unique_ptr< Image >, LutLevel, RANGE >::type ApplyLut ( const ImagePlane plane,
const RANGE &  levels,
LutInterpolation  interpolation 
)
inline

Apply a lookup table, that is the result of interpolation between a series of levels and values, to an input image.

Parameters
[in]planePlane to which the lookup table is to be applied.
[in]levelsLevels defining the lookup table as a range of LUT levels.
[in]interpolationInterpolation mode between the levels.
Returns
The result image.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ ApplyLut() [2/3]

TypedRange< std::unique_ptr< Image >, int, RANGE >::type ApplyLut ( const ImagePlane plane,
const RANGE &  values 
)
inline

Apply a lookup table to an 8 bit per pixel input image plane.

Parameters
[in]planePlane to which the lookup table is to be applied.
[in]valuesThe lookup table as a range of integers (must have at least 256 entries). Exceed is ignored.
Returns
The result image.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ ApplyLut() [3/3]

TypedRange< std::unique_ptr< Image >, std::uint8_t, RANGE >::type ApplyLut ( const ImagePlane plane,
const RANGE &  values 
)
inline

Apply a lookup table to an 8 bit per pixel input image plane.

Parameters
[in]planePlane to which the lookup table is to be applied.
[in]valuesThe lookup table as a range of bytes (must have at least 256 entries). Exceed is ignored.
Returns
The result image.
Exceptions
Anyexception derived from std::exception including CvbException.