Color¶
- class Color(*args, **kwargs)¶
Bases:
RGBa
Class to define RGB colors available for display functionalities.
You may use predefined colors:
vpColor::black , vpColor::white ,
vpColor::lightGray , vpColor::gray , vpColor::darkGray ,
vpColor::lightRed , vpColor::red , vpColor::darkRed ,
vpColor::lightGreen , vpColor::green , vpColor::darkGreen ,
vpColor::lightBlue , vpColor::blue , vpColor::darkBlue ,
vpColor::yellow , vpColor::cyan , vpColor::orange , vpColor::purple
vpColor color1(vpColor::lightGreen); vpColor color2 = vpColor::lightGreen;
or specify your own color by settings its R,G,B values.
unsigned char R=140, G=255, B=140; vpColor color1(R, G, B); vpColor color2; color2.setColor(R, G, B);
Warning
Since ViSP 3.3.1 or higher we introduce the alpha channel support for color transparency. This feature is for the moment only supported using vpDisplayOpenCV . To use transparency you may set an additional alpha parameter. When the value is 255, there is no transparency. A value equal to 0 means that the color is completely transparent. The following examples show how to introduce transparency:
using predefined colors:
unsigned char alpha = 128; vpColor color1(vpColor::lightGreen, alpha); vpColor color2 = vpColor(vpColor::lightGreen, alpha);
or using user defined colors:
unsigned char R=140, G=255, B=140, alpha=128; vpColor color1(R, G, B, alpha); vpColor color2; color2.setColor(R, G, B, alpha);
See displayOpenCV.cpp example for complete usage when displaying filled transparent circles or rectangles.
An identifier vpColor::vpColorIdentifier is associated to each color. This identifier is useful to determine if a color is predefined or specified by it R,G,B values. In that last case, the identifier is always set to vpColor::id_unknown .
The example below shows how to display geometric features in a display overlay using predefined colors (here the blue color to draw a circle) and a specific brown color (used to draw a rectangle).
#include <visp3/gui/vpDisplayD3D.h> #include <visp3/gui/vpDisplayGDI.h> #include <visp3/gui/vpDisplayGTK.h> #include <visp3/gui/vpDisplayOpenCV.h> #include <visp3/gui/vpDisplayX.h> #ifdef ENABLE_VISP_NAMESPACE using namespace VISP_NAMESPACE_NAME; #endif int main() { vpImage<unsigned char> I(240, 320); // Create a black grey level image vpDisplay *d; // Depending on the detected third party libraries, we instantiate here the // first video device which is available #if defined(VISP_HAVE_X11) d = new vpDisplayX; #elif defined(VISP_HAVE_GTK) d = new vpDisplayGTK; #elif defined(VISP_HAVE_GDI) d = new vpDisplayGDI; #elif defined(VISP_HAVE_D3D9) d = new vpDisplayD3D; #elif defined(HAVE_OPENCV_HIGHGUI) d = new vpDisplayOpenCV; #endif // Initialize the display with the image I. Display and image are // now link together. #ifdef VISP_HAVE_DISPLAY d->init(I); #endif // Set the display background with image I content vpDisplay::display(I); // Draw a filled circle with the predefined blue color vpDisplay::displayCircle(I, 100, 200, 30, vpColor::blue, true); // Creation of a new brown color with its RGB values vpColor color(128, 100, 50); // Draw a brown rectangle in the display overlay (foreground) vpDisplay::displayRectangle(I, 10, 10, 100, 20, color, true); // Flush the foreground and background display vpDisplay::flush(I); delete d; }
Overloaded function.
__init__(self: visp._visp.core.Color) -> None
Default constructor. All the colors components are set to zero.
The color identifier is set to vpColor::id_unknown to indicate that this color is not a predefined one.
__init__(self: visp._visp.core.Color, r: int, g: int, b: int, cid: visp._visp.core.Color.ColorIdentifier) -> None
Construct a color from its RGB values.
- Parameters:
- r
Red component.
- g
Green component.
- b
Blue component.
- cid
The color identifier to indicate if this color is or not a predefined one.
__init__(self: visp._visp.core.Color, r: int, g: int, b: int, alpha: int, cid: visp._visp.core.Color.ColorIdentifier) -> None
Construct a color from its RGB values and alpha channel.
- Parameters:
- r
Red component.
- g
Green component.
- b
Blue component.
- alpha
Alpha channel for transparency.
- cid
The color identifier to indicate if this color is or not a predefined one.
__init__(self: visp._visp.core.Color, color: visp._visp.core.Color, alpha: int) -> None
Construct a color with an alpha channel.
- Parameters:
- color
RGB color.
- alpha
Alpha channel for transparency.
Methods
Overloaded function.
Get a predefined color
Set a color from its RGB values.
Inherited Methods
Values:
alpha_default
A
R
G
B
Operators
__doc__
Overloaded function.
__module__
Attributes
A
B
G
R
__annotations__
alpha_default
black
blue
cyan
darkBlue
darkGray
darkGreen
darkRed
gray
green
id
id_black
id_blue
id_cyan
id_darkBlue
id_darkGray
id_darkGreen
id_darkRed
id_gray
id_green
id_lightBlue
id_lightGray
id_lightGreen
id_lightRed
id_orange
id_purple
id_red
id_unknown
id_white
id_yellow
lightBlue
lightGray
lightGreen
lightRed
nbColors
none
orange
purple
red
white
yellow
- class ColorIdentifier(self, value: int)¶
Bases:
pybind11_object
Predefined colors identifier.
Values:
id_black: Identifier associated to the predefined vpColor::black color.
id_white: Identifier associated to the predefined vpColor::white color.
id_lightGray: Identifier associated to the predefined vpColor::lightGray color.
id_gray: Identifier associated to the predefined vpColor::gray color.
id_darkGray: Identifier associated to the predefined vpColor::darkGray color.
id_lightRed: Identifier associated to the predefined vpColor::lightRed color.
id_red: Identifier associated to the predefined vpColor::red color.
id_darkRed: Identifier associated to the predefined vpColor::darkRed color.
id_lightGreen: Identifier associated to the predefined vpColor::lightGreen color.
id_green: Identifier associated to the predefined vpColor::green color.
id_darkGreen: Identifier associated to the predefined vpColor::darkGreen color.
id_lightBlue: Identifier associated to the predefined vpColor::lightBlue color.
id_blue: Identifier associated to the predefined vpColor::blue color.
id_darkBlue: Identifier associated to the predefined vpColor::darkBlue color.
id_yellow: Identifier associated to the predefined vpColor::yellow color.
id_cyan: Identifier associated to the predefined vpColor::cyan color.
id_orange: Identifier associated to the predefined vpColor::orange color.
id_purple: Identifier associated to the predefined vpColor::purple color.
id_unknown: Identifier associated to unknowned colors. By unknowned, we mean not a predefined color. This identifier can also be used to know the number of predefined colors.
- __add__(*args, **kwargs)¶
Overloaded function.
__add__(self: visp._visp.core.RGBa, v: visp._visp.core.RGBa) -> visp._visp.core.RGBa
Warning
in case of overflow : e.g. 128+128 returns 0 for all 4 channels
- Parameters:
- v
Color to add to the current object “this”.
- Returns:
“this” + v
__add__(self: visp._visp.core.RGBa, v: visp._visp.core.ColVector) -> visp._visp.core.ColVector
- Parameters:
- v
Color to add to the current object “this”.
- Returns:
“this” + v
- __eq__(self, v: visp._visp.core.RGBa) bool ¶
Compare two RGBa values.
- Returns:
true if the values are the same, false otherwise.
- __gt__(self, v: visp._visp.core.RGBa) bool ¶
- __init__(*args, **kwargs)¶
Overloaded function.
__init__(self: visp._visp.core.Color) -> None
Default constructor. All the colors components are set to zero.
The color identifier is set to vpColor::id_unknown to indicate that this color is not a predefined one.
__init__(self: visp._visp.core.Color, r: int, g: int, b: int, cid: visp._visp.core.Color.ColorIdentifier) -> None
Construct a color from its RGB values.
- Parameters:
- r
Red component.
- g
Green component.
- b
Blue component.
- cid
The color identifier to indicate if this color is or not a predefined one.
__init__(self: visp._visp.core.Color, r: int, g: int, b: int, alpha: int, cid: visp._visp.core.Color.ColorIdentifier) -> None
Construct a color from its RGB values and alpha channel.
- Parameters:
- r
Red component.
- g
Green component.
- b
Blue component.
- alpha
Alpha channel for transparency.
- cid
The color identifier to indicate if this color is or not a predefined one.
__init__(self: visp._visp.core.Color, color: visp._visp.core.Color, alpha: int) -> None
Construct a color with an alpha channel.
- Parameters:
- color
RGB color.
- alpha
Alpha channel for transparency.
- __lt__(self, v: visp._visp.core.RGBa) bool ¶
- __mul__(*args, **kwargs)¶
Overloaded function.
__mul__(self: visp._visp.core.RGBa, v: float) -> visp._visp.core.ColVector
- Parameters:
- v
Value to multiply.
- Returns:
v * “this”
__mul__(self: visp._visp.core.RGBa, v: float) -> visp._visp.core.ColVector
- Parameters:
- v
Value to multiply.
- Returns:
v * “this”
- __ne__(self, v: visp._visp.core.RGBa) bool ¶
Compare two color pixels.
- Returns:
true if the images are different, false if they are the same.
- __sub__(*args, **kwargs)¶
Overloaded function.
__sub__(self: visp._visp.core.RGBa, v: visp._visp.core.RGBa) -> visp._visp.core.ColVector
- Parameters:
- v
Color to subtract to the current object “this”.
- Returns:
“this” - v
__sub__(self: visp._visp.core.RGBa, v: visp._visp.core.ColVector) -> visp._visp.core.ColVector
- Parameters:
- v
Color to subtract to the current object “this”.
- Returns:
“this” - v
- static getColor(i: int) visp._visp.core.Color ¶
Get a predefined color
- setColor(self, r: int, g: int, b: int, a: int) None ¶
Set a color from its RGB values.
The color identifier is set to vpColor::id_unknown to indicate that this color is not a predefined one.
-
__hash__ =
None
¶