CGVIS Utils
Loading...
Searching...
No Matches
ColorConversion Namespace Reference

Functions

template<typename T>
Vec3t< T > rgbToHsv (const Vec3t< T > &other)
 Convert linear RGB to HSV.
template<typename T>
Vec3t< T > hsvToRgb (const Vec3t< T > &other)
 Convert HSV to linear RGB.
template<typename T>
Vec3t< T > hslToHsv (const Vec3t< T > &other)
 Convert HSL to HSV.
template<typename T>
Vec3t< T > hsvToHsl (const Vec3t< T > &other)
 Convert HSV to HSL.
template<typename T>
Vec3t< T > rgbToCmy (const Vec3t< T > &other)
 Convert RGB to CMY.
template<typename T>
Vec4t< T > rgbToCmyk (const Vec3t< T > &other)
 Convert RGB to CMYK.
template<typename T>
Vec3t< T > cmyToRgb (const Vec3t< T > &other)
 Convert CMY to RGB.
template<typename T>
Vec3t< T > cmykToRgb (const Vec4 &other)
 Convert CMYK to RGB.
template<typename T>
Vec3t< T > rgbToYuv (const Vec3t< T > &other)
 Convert RGB to a simple YUV (luma/chroma) space via a linear matrix.
template<typename T>
Vec3t< T > yuvToRgb (const Vec3t< T > &other)
 Convert the simple YUV (above) back to RGB.

Function Documentation

◆ cmykToRgb()

template<typename T>
Vec3t< T > ColorConversion::cmykToRgb ( const Vec4 & other)

Convert CMYK to RGB.

Template Parameters
TScalar type.
Parameters
otherCMYK quadruplet in [0,1] (w = K).
Returns
RGB triplet in [0,1].

◆ cmyToRgb()

template<typename T>
Vec3t< T > ColorConversion::cmyToRgb ( const Vec3t< T > & other)

Convert CMY to RGB.

Template Parameters
TScalar type.
Parameters
otherCMY triplet in [0,1].
Returns
RGB triplet in [0,1].

◆ hslToHsv()

template<typename T>
Vec3t< T > ColorConversion::hslToHsv ( const Vec3t< T > & other)

Convert HSL to HSV.

Template Parameters
TScalar type.
Parameters
otherHSL triplet (h in degrees, s,l in [0,1]).
Returns
HSV triplet (h in degrees, s,v in [0,1]).

◆ hsvToHsl()

template<typename T>
Vec3t< T > ColorConversion::hsvToHsl ( const Vec3t< T > & other)

Convert HSV to HSL.

Template Parameters
TScalar type.
Parameters
otherHSV triplet (h in degrees, s,v in [0,1]).
Returns
HSL triplet (h in degrees, s,l in [0,1]).

◆ hsvToRgb()

template<typename T>
Vec3t< T > ColorConversion::hsvToRgb ( const Vec3t< T > & other)

Convert HSV to linear RGB.

Template Parameters
TScalar type.
Parameters
otherHSV triplet (h in degrees, s,v in [0,1]).
Returns
RGB triplet in [0,1].
Note
Hue is wrapped to [0,360) before conversion.

◆ rgbToCmy()

template<typename T>
Vec3t< T > ColorConversion::rgbToCmy ( const Vec3t< T > & other)

Convert RGB to CMY.

Template Parameters
TScalar type.
Parameters
otherRGB triplet in [0,1].
Returns
CMY triplet in [0,1].
Here is the caller graph for this function:

◆ rgbToCmyk()

template<typename T>
Vec4t< T > ColorConversion::rgbToCmyk ( const Vec3t< T > & other)

Convert RGB to CMYK.

Template Parameters
TScalar type.
Parameters
otherRGB triplet in [0,1].
Returns
CMYK quadruplet in [0,1] where w = K (black).
Here is the call graph for this function:

◆ rgbToHsv()

template<typename T>
Vec3t< T > ColorConversion::rgbToHsv ( const Vec3t< T > & other)

Convert linear RGB to HSV.

Template Parameters
TScalar type.
Parameters
otherRGB triplet (r,g,b) in [0,1].
Returns
HSV triplet (h in degrees [0,360), s in [0,1], v in [0,1]).

◆ rgbToYuv()

template<typename T>
Vec3t< T > ColorConversion::rgbToYuv ( const Vec3t< T > & other)

Convert RGB to a simple YUV (luma/chroma) space via a linear matrix.

Template Parameters
TScalar type.
Parameters
otherRGB triplet in [0,1].
Returns
YUV triplet; coefficients match the matrix below (not broadcast standards).

◆ yuvToRgb()

template<typename T>
Vec3t< T > ColorConversion::yuvToRgb ( const Vec3t< T > & other)

Convert the simple YUV (above) back to RGB.

Template Parameters
TScalar type.
Parameters
otherYUV triplet.
Returns
RGB triplet in [0,1].