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 14 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 18 of file RGBPixel.h.

19 : red(red)
20 , green(green)
21 , blue(blue) {
22 }

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 37 of file RGBPixel.h.

37 {
38 RGBPixel<float> af {
39 static_cast<float>(a.red), static_cast<float>(a.green), static_cast<float>(a.blue)};
40 RGBPixel<float> bf {
41 static_cast<float>(b.red), static_cast<float>(b.green), static_cast<float>(b.blue)};
42 return std::sqrt(
43 (af.red - bf.red) * (af.red - bf.red) + (af.green - bf.green) * (af.green - bf.green) +
44 (af.blue - bf.blue) * (af.blue - bf.blue)
45 );
46 }

◆ operator!=()

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

Definition at line 28 of file RGBPixel.h.

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

◆ operator==()

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

Definition at line 25 of file RGBPixel.h.

25 {
26 return red == other.red && green == other.green && blue == other.blue;
27 }

◆ setGray()

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

Definition at line 33 of file RGBPixel.h.

33 {
34 red = green = blue = gray;
35 }

Member Data Documentation

◆ blue

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

Definition at line 16 of file RGBPixel.h.

◆ green

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

Definition at line 16 of file RGBPixel.h.

◆ red

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

Definition at line 16 of file RGBPixel.h.


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