Visual Servoing Platform  version 3.0.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
vpRGBa Class Reference

#include <visp3/core/vpRGBa.h>

+ Inheritance diagram for vpRGBa:

Public Types

enum  AlphaDefault { alpha_default = 255 }
 

Public Member Functions

 vpRGBa ()
 
 vpRGBa (const unsigned char &r, const unsigned char &g, const unsigned char &b, const unsigned char &a=0)
 
 vpRGBa (const unsigned char &v)
 
 vpRGBa (const vpRGBa &v)
 
 vpRGBa (const vpColVector &v)
 
vpRGBaoperator= (const unsigned char &v)
 
vpRGBaoperator= (const vpRGBa &v)
 
vpRGBaoperator= (const vpRGBa &&v)
 
vpRGBaoperator= (const vpColVector &v)
 
bool operator== (const vpRGBa &v)
 
bool operator!= (const vpRGBa &v)
 
vpColVector operator- (const vpRGBa &v) const
 
vpRGBa operator+ (const vpRGBa &v) const
 
vpColVector operator- (const vpColVector &v) const
 
vpColVector operator+ (const vpColVector &v) const
 
vpColVector operator* (const float &v) const
 
vpColVector operator* (const double &v) const
 
bool operator< (const vpRGBa &v) const
 
bool operator> (const vpRGBa &v) const
 

Public Attributes

unsigned char R
 
unsigned char G
 
unsigned char B
 
unsigned char A
 

Friends

VISP_EXPORT std::ostream & operator<< (std::ostream &os, const vpRGBa &rgba)
 
VISP_EXPORT vpRGBa operator* (const double &x, const vpRGBa &rgb)
 

Detailed Description

Class that defines a RGBa 32 bits structure that is used to build color images. RGBa stands for red green blue alpha color space.

The alpha channel is normally used as an opacity channel. If a pixel has a value of 0 in its alpha channel, it is fully transparent, whereas a value of 255 in the alpha channel gives a fully opaque pixel.

By default the alpha channel is set to vpRGBa::alpha_default.

See Also
vpImage
Examples:
servoMomentImage.cpp, testConversion.cpp, testDisplayRoi.cpp, testImageBinarise.cpp, testImagePrint.cpp, testPerformanceLUT.cpp, and tutorial-image-manipulation.cpp.

Definition at line 66 of file vpRGBa.h.

Member Enumeration Documentation

Enumerator
alpha_default 

Definition at line 69 of file vpRGBa.h.

Constructor & Destructor Documentation

vpRGBa::vpRGBa ( )
inline

Basic constructor.

Build a black value.

Definition at line 79 of file vpRGBa.h.

vpRGBa::vpRGBa ( const unsigned char &  r,
const unsigned char &  g,
const unsigned char &  b,
const unsigned char &  a = 0 
)
inline

Constructor.

Initialize the color with R, G, B, A values.

Parameters
r: Red value.
g: Green value.
b: Blue value.
a: Additional value.

Definition at line 92 of file vpRGBa.h.

vpRGBa::vpRGBa ( const unsigned char &  v)
inline

Constructor.

Initialize all the R, G, B, A components to v.

Parameters
v: Value to set.

Definition at line 105 of file vpRGBa.h.

vpRGBa::vpRGBa ( const vpRGBa v)
inline

Copy constructor.

Definition at line 111 of file vpRGBa.h.

vpRGBa::vpRGBa ( const vpColVector v)
inline

Create a RGBa value from a 4 dimension column vector.

R=v[0] G=v[1] B=v[2] A=v[3]

Definition at line 122 of file vpRGBa.h.

Member Function Documentation

bool vpRGBa::operator!= ( const vpRGBa v)

Compare two color pixels.

Returns
true if the images are different, false if they are the same.

Definition at line 141 of file vpRGBa.cpp.

References A, B, G, and R.

vpColVector vpRGBa::operator* ( const float &  v) const

Multiplication operator : v * "this".

Parameters
v: Value to multiply.
Returns
v * "this"

Definition at line 217 of file vpRGBa.cpp.

References A, B, G, and R.

vpColVector vpRGBa::operator* ( const double &  v) const

Multiplication operator : v * "this".

Parameters
v: Value to multiply.
Returns
v * "this"

Definition at line 233 of file vpRGBa.cpp.

References A, B, G, and R.

vpRGBa vpRGBa::operator+ ( const vpRGBa v) const

Addition operator : "this" + v.

Parameters
v: Color to add to the current object "this".
Returns
"this" + v
Warning
in case of overflow : e.g. 128+128 returns 0 for all 4 channels

Definition at line 169 of file vpRGBa.cpp.

References A, B, G, and R.

vpColVector vpRGBa::operator+ ( const vpColVector v) const

Addition operator : "this" + v.

Parameters
v: Color to add to the current object "this".
Returns
"this" + v

Definition at line 201 of file vpRGBa.cpp.

References A, B, G, and R.

vpColVector vpRGBa::operator- ( const vpRGBa v) const

Substraction operator : "this" - v.

Parameters
v: Color to substract to the current object "this".
Returns
"this" - v

Definition at line 152 of file vpRGBa.cpp.

References A, B, G, and R.

vpColVector vpRGBa::operator- ( const vpColVector v) const

Substraction operator : "this" - v.

Parameters
v: Color to substract to the current object "this".
Returns
"this" - v

Definition at line 185 of file vpRGBa.cpp.

References A, B, G, and R.

bool vpRGBa::operator< ( const vpRGBa v) const

Definition at line 244 of file vpRGBa.cpp.

References B, G, and R.

vpRGBa & vpRGBa::operator= ( const unsigned char &  v)

Copy operator (from an unsigned char value)

Parameters
v: Input color ( R = G = B = v )

Definition at line 58 of file vpRGBa.cpp.

References A, B, G, and R.

vpRGBa & vpRGBa::operator= ( const vpRGBa v)

Copy operator.

Definition at line 71 of file vpRGBa.cpp.

References A, B, G, and R.

vpRGBa & vpRGBa::operator= ( const vpRGBa &&  v)

Move operator.

Definition at line 85 of file vpRGBa.cpp.

References A, B, G, and R.

vpRGBa & vpRGBa::operator= ( const vpColVector v)

Cast a vpColVector in a vpRGBa

Parameters
v: Input vector. v[0], v[1], v[2], v[3] are to make into relation with respectively R, G, B and A.
Exceptions
vpException::dimensionError: If v is not a 4 four dimention vector.

Definition at line 105 of file vpRGBa.cpp.

References A, B, vpException::dimensionError, G, vpArray2D< Type >::getRows(), R, and vpERROR_TRACE.

bool vpRGBa::operator== ( const vpRGBa v)

Compare two RGBa values.

Returns
true if the values are the same, false otherwise.

Definition at line 123 of file vpRGBa.cpp.

References A, B, G, and R.

bool vpRGBa::operator> ( const vpRGBa v) const

Definition at line 253 of file vpRGBa.cpp.

References B, G, and R.

Friends And Related Function Documentation

VISP_EXPORT vpRGBa operator* ( const double &  x,
const vpRGBa rgb 
)
friend

Definition at line 261 of file vpRGBa.cpp.

VISP_EXPORT std::ostream & operator<< ( std::ostream &  os,
const vpRGBa rgba 
)
friend

Writes the RGBA values to the stream os, and returns a reference to the stream. The coordinates are separated by a comma.

The following code prints the intensity of the pixel in the middle of the image:

#include <visp3/core/vpImage.h>
int main()
{
vpImage<vpRGBa> I(480,640);
std::cout << "RGB: " << I[240][320] << std::endl;
return 0;
}

Definition at line 288 of file vpRGBa.cpp.

Member Data Documentation