Img2Num C++ (Internal Developer Docs) dev
API Documentation
Loading...
Searching...
No Matches
ImageLib::LABPixel< NumberT > Struct Template Reference
+ Inheritance diagram for ImageLib::LABPixel< NumberT >:
+ Collaboration diagram for ImageLib::LABPixel< NumberT >:

Public Member Functions

constexpr LABPixel (NumberT l=0, NumberT a=0, NumberT b=0)
 
bool operator== (const LABPixel &other) const
 
bool operator!= (const LABPixel &other) const
 
void setGray (NumberT new_luma)
 

Static Public Member Functions

static float colorDistance (const LABPixel< NumberT > &a, const LABPixel< NumberT > &b)
 

Public Attributes

NumberT l
 
NumberT a
 
NumberT b
 

Additional Inherited Members

- Public Types inherited from ImageLib::Pixel< NumberT >
using value_type = NumberT
 

Detailed Description

template<typename NumberT>
struct ImageLib::LABPixel< NumberT >

Definition at line 16 of file LABPixel.h.

Constructor & Destructor Documentation

◆ LABPixel()

template<typename NumberT >
constexpr ImageLib::LABPixel< NumberT >::LABPixel ( NumberT  l = 0,
NumberT  a = 0,
NumberT  b = 0 
)
inlineconstexpr

Definition at line 20 of file LABPixel.h.

20 : l(l), a(a), b(b) {
21 }

Member Function Documentation

◆ colorDistance()

template<typename NumberT >
static float ImageLib::LABPixel< NumberT >::colorDistance ( const LABPixel< NumberT > &  a,
const LABPixel< NumberT > &  b 
)
inlinestatic

Definition at line 37 of file LABPixel.h.

37 {
38 LABPixel<float> af{static_cast<float>(a.l), static_cast<float>(a.a),
39 static_cast<float>(a.b)};
40 LABPixel<float> bf{static_cast<float>(b.l), static_cast<float>(b.a),
41 static_cast<float>(b.b)};
42 return std::sqrt((a.l - b.l) * (a.l - b.l) + (a.a - b.a) * (a.a - b.a) +
43 (a.b - b.b) * (a.b - b.b));
44 }

◆ operator!=()

template<typename NumberT >
bool ImageLib::LABPixel< NumberT >::operator!= ( const LABPixel< NumberT > &  other) const
inline

Definition at line 27 of file LABPixel.h.

27 {
28 return !(*this == other);
29 }

◆ operator==()

template<typename NumberT >
bool ImageLib::LABPixel< NumberT >::operator== ( const LABPixel< NumberT > &  other) const
inline

Definition at line 24 of file LABPixel.h.

24 {
25 return l == other.l && a == other.a && b == other.b;
26 }

◆ setGray()

template<typename NumberT >
void ImageLib::LABPixel< NumberT >::setGray ( NumberT  new_luma)
inline

Definition at line 32 of file LABPixel.h.

32 {
33 l = new_luma;
34 a = b = 0;
35 }

Member Data Documentation

◆ a

template<typename NumberT >
NumberT ImageLib::LABPixel< NumberT >::a

Definition at line 18 of file LABPixel.h.

◆ b

template<typename NumberT >
NumberT ImageLib::LABPixel< NumberT >::b

Definition at line 18 of file LABPixel.h.

◆ l

template<typename NumberT >
NumberT ImageLib::LABPixel< NumberT >::l

Definition at line 18 of file LABPixel.h.


The documentation for this struct was generated from the following file: