43 #include <visp3/core/vpColor.h>
44 #include <visp3/core/vpDebug.h>
45 #include <visp3/core/vpException.h>
46 #include <visp3/core/vpRGBf.h>
72 #if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
78 this->
R = std::move(v.R);
79 this->
G = std::move(v.G);
80 this->
B = std::move(v.B);
99 R =
static_cast<float>(v[0]);
100 G =
static_cast<float>(v[1]);
101 B =
static_cast<float>(v[2]);
112 if (std::fabs(
R - v.
R) > std::numeric_limits<float>::epsilon()) {
115 if (std::fabs(
G - v.
G) > std::numeric_limits<float>::epsilon()) {
118 if (std::fabs(
B - v.
B) > std::numeric_limits<float>::epsilon()) {
131 return ((std::fabs(
R - v.
R) > std::numeric_limits<float>::epsilon()) ||
132 (std::fabs(
G - v.
G) > std::numeric_limits<float>::epsilon()) ||
133 (std::fabs(
B - v.
B) > std::numeric_limits<float>::epsilon()));
144 n[0] =
static_cast<double>(
R) -
static_cast<double>(v.
R);
145 n[1] =
static_cast<double>(
G) -
static_cast<double>(v.
G);
146 n[2] =
static_cast<double>(
B) -
static_cast<double>(v.
B);
223 double gray1 = (0.2126 *
R) + (0.7152 *
G) + (0.0722 *
B);
224 double gray2 = (0.2126 * v.
R) + (0.7152 * v.
G) + (0.0722 * v.
B);
226 return (gray1 < gray2);
231 double gray1 = (0.2126 *
R) + (0.7152 *
G) + (0.0722 *
B);
232 double gray2 = (0.2126 * v.
R) + (0.7152 * v.
G) + (0.0722 * v.
B);
234 return (gray1 > gray2);
262 os <<
"(" << rgb.
R <<
"," << rgb.
G <<
"," << rgb.
B <<
")";
friend std::ostream & operator<<(std::ostream &s, const vpArray2D< Type > &A)
unsigned int getRows() const
Implementation of column vector and the associated operations.
vpColVector operator*(const double &x, const vpColVector &v)
error that can be emitted by ViSP classes.
@ dimensionError
Bad dimension.
vpColVector operator*(float v) const
vpRGBf & operator=(float v)
vpColVector operator-(const vpRGBf &v) const
bool operator>(const vpRGBf &v) const
bool operator==(const vpRGBf &v) const
vpRGBf operator+(const vpRGBf &v) const
bool operator<(const vpRGBf &v) const
bool operator!=(const vpRGBf &v) const