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

Public Member Functions

constexpr RGBPixel (NumberT red=0, NumberT green=0, NumberT blue=0)
 
bool operator== (const RGBPixel &other) const
 
bool operator!= (const RGBPixel &other) const
 
void setGray (NumberT gray)
 

Static Public Member Functions

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

Public Attributes

NumberT red
 
NumberT green
 
NumberT blue
 

Additional Inherited Members

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

Detailed Description

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

Definition at line 11 of file RGBPixel.h.

Constructor & Destructor Documentation

◆ RGBPixel()

template<typename NumberT >
constexpr ImageLib::RGBPixel< NumberT >::RGBPixel ( NumberT  red = 0,
NumberT  green = 0,
NumberT  blue = 0 
)
inlineconstexpr

Definition at line 15 of file RGBPixel.h.

16 : red(red), green(green), blue(blue) {
17 }

Member Function Documentation

◆ colorDistance()

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

Definition at line 32 of file RGBPixel.h.

32 {
33 RGBPixel<float> af{static_cast<float>(a.red), static_cast<float>(a.green),
34 static_cast<float>(a.blue)};
35 RGBPixel<float> bf{static_cast<float>(b.red), static_cast<float>(b.green),
36 static_cast<float>(b.blue)};
37 return std::sqrt((af.red - bf.red) * (af.red - bf.red) +
38 (af.green - bf.green) * (af.green - bf.green) +
39 (af.blue - bf.blue) * (af.blue - bf.blue));
40 }

◆ operator!=()

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

Definition at line 23 of file RGBPixel.h.

23 {
24 return !(*this == other);
25 }

◆ operator==()

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

Definition at line 20 of file RGBPixel.h.

20 {
21 return red == other.red && green == other.green && blue == other.blue;
22 }

◆ setGray()

template<typename NumberT >
void ImageLib::RGBPixel< NumberT >::setGray ( NumberT  gray)
inline

Definition at line 28 of file RGBPixel.h.

28 {
29 red = green = blue = gray;
30 }

Member Data Documentation

◆ blue

template<typename NumberT >
NumberT ImageLib::RGBPixel< NumberT >::blue

Definition at line 13 of file RGBPixel.h.

◆ green

template<typename NumberT >
NumberT ImageLib::RGBPixel< NumberT >::green

Definition at line 13 of file RGBPixel.h.

◆ red

template<typename NumberT >
NumberT ImageLib::RGBPixel< NumberT >::red

Definition at line 13 of file RGBPixel.h.


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