How to create openCV image of certain (R, G, B) color and get that color name?
Solution 1
opencv doesn't create images with a color, easiest way is either a fill or just draw a filled rectangle with the chosen color.
See https://docs.opencv.org/trunk/dc/da5/tutorial_py_drawing_functions.html
There isn't (AFAIK) a function to return the color name, easiest way is to get a list of colors from somewhere and check the RGB values against the pixel. If you need a closest rather than exact match (rememebr there aren't names for all 244bit colors!) look at HSV color space
Solution 2
Static color map class with static methods (both answers combined). Simply copy and use.
#pragma once
#include <opencv/cv.hpp>
#include <opencv/cv.h>
class Color
{
public:
static cv::Scalar aliceblue;
static cv::Scalar antiquewhite;
static cv::Scalar aqua;
static cv::Scalar aquamarine;
static cv::Scalar azure;
static cv::Scalar beige;
static cv::Scalar bisque;
static cv::Scalar black;
static cv::Scalar blanchedalmond;
static cv::Scalar blue;
static cv::Scalar blueviolet;
static cv::Scalar brown;
static cv::Scalar burlywood;
static cv::Scalar cadetblue;
static cv::Scalar chartreuse;
static cv::Scalar chocolate;
static cv::Scalar coral;
static cv::Scalar cornflowerblue;
static cv::Scalar cornsilk;
static cv::Scalar crimson;
static cv::Scalar cyan;
static cv::Scalar darkblue;
static cv::Scalar darkcyan;
static cv::Scalar darkgoldenrod;
static cv::Scalar darkgray;
static cv::Scalar darkgreen;
static cv::Scalar darkgrey;
static cv::Scalar darkkhaki;
static cv::Scalar darkmagenta;
static cv::Scalar darkolivegreen;
static cv::Scalar darkorange;
static cv::Scalar darkorchid;
static cv::Scalar darkred;
static cv::Scalar darksalmon;
static cv::Scalar darkseagreen;
static cv::Scalar darkslateblue;
static cv::Scalar darkslategray;
static cv::Scalar darkslategrey;
static cv::Scalar darkturquoise;
static cv::Scalar darkviolet;
static cv::Scalar deeppink;
static cv::Scalar deepskyblue;
static cv::Scalar dimgray;
static cv::Scalar dimgrey;
static cv::Scalar dodgerblue;
static cv::Scalar firebrick;
static cv::Scalar floralwhite;
static cv::Scalar forestgreen;
static cv::Scalar fuchsia;
static cv::Scalar gainsboro;
static cv::Scalar ghostwhite;
static cv::Scalar gold;
static cv::Scalar goldenrod;
static cv::Scalar gray;
static cv::Scalar green;
static cv::Scalar greenyellow;
static cv::Scalar grey;
static cv::Scalar honeydew;
static cv::Scalar hotpink;
static cv::Scalar indianred;
static cv::Scalar indigo;
static cv::Scalar ivory;
static cv::Scalar khaki;
static cv::Scalar lavender;
static cv::Scalar lavenderblush;
static cv::Scalar lawngreen;
static cv::Scalar lemonchiffon;
static cv::Scalar lightblue;
static cv::Scalar lightcoral;
static cv::Scalar lightcyan;
static cv::Scalar lightgoldenrodyellow;
static cv::Scalar lightgray;
static cv::Scalar lightgreen;
static cv::Scalar lightgrey;
static cv::Scalar lightpink;
static cv::Scalar lightsalmon;
static cv::Scalar lightseagreen;
static cv::Scalar lightskyblue;
static cv::Scalar lightslategray;
static cv::Scalar lightslategrey;
static cv::Scalar lightsteelblue;
static cv::Scalar lightyellow;
static cv::Scalar lime;
static cv::Scalar limegreen;
static cv::Scalar linen;
static cv::Scalar magenta;
static cv::Scalar maroon;
static cv::Scalar mediumaquamarine;
static cv::Scalar mediumblue;
static cv::Scalar mediumorchid;
static cv::Scalar mediumpurple;
static cv::Scalar mediumseagreen;
static cv::Scalar mediumslateblue;
static cv::Scalar mediumspringgreen;
static cv::Scalar mediumturquoise;
static cv::Scalar mediumvioletred;
static cv::Scalar midnightblue;
static cv::Scalar mintcream;
static cv::Scalar mistyrose;
static cv::Scalar moccasin;
static cv::Scalar navajowhite;
static cv::Scalar navy;
static cv::Scalar oldlace;
static cv::Scalar olive;
static cv::Scalar olivedrab;
static cv::Scalar orange;
static cv::Scalar orangered;
static cv::Scalar orchid;
static cv::Scalar palegoldenrod;
static cv::Scalar palegreen;
static cv::Scalar paleturquoise;
static cv::Scalar palevioletred;
static cv::Scalar papayawhip;
static cv::Scalar peachpuff;
static cv::Scalar peru;
static cv::Scalar pink;
static cv::Scalar plum;
static cv::Scalar powderblue;
static cv::Scalar purple;
static cv::Scalar red;
static cv::Scalar rosybrown;
static cv::Scalar royalblue;
static cv::Scalar saddlebrown;
static cv::Scalar salmon;
static cv::Scalar sandybrown;
static cv::Scalar seagreen;
static cv::Scalar seashell;
static cv::Scalar sienna;
static cv::Scalar silver;
static cv::Scalar skyblue;
static cv::Scalar slateblue;
static cv::Scalar slategray;
static cv::Scalar slategrey;
static cv::Scalar snow;
static cv::Scalar springgreen;
static cv::Scalar steelblue;
static cv::Scalar tan;
static cv::Scalar teal;
static cv::Scalar thistle;
static cv::Scalar tomato;
static cv::Scalar turquoise;
static cv::Scalar violet;
static cv::Scalar wheat;
static cv::Scalar white;
static cv::Scalar whitesmoke;
static cv::Scalar yellow;
static cv::Scalar yellowgreen;
};
//In the cpp file add:
cv::Scalar Color::aliceblue(255, 248, 240);
cv::Scalar Color::antiquewhite(215, 235, 250);
cv::Scalar Color::aqua(255, 255, 0);
cv::Scalar Color::aquamarine(212, 255, 127);
cv::Scalar Color::azure(255, 255, 240);
cv::Scalar Color::beige(220, 245, 245);
cv::Scalar Color::bisque(196, 228, 255);
cv::Scalar Color::black(0, 0, 0);
cv::Scalar Color::blanchedalmond(205, 235, 255);
cv::Scalar Color::blue(255, 0, 0);
cv::Scalar Color::blueviolet(226, 43, 138);
cv::Scalar Color::brown(42, 42, 165);
cv::Scalar Color::burlywood(135, 184, 222);
cv::Scalar Color::cadetblue(160, 158, 95);
cv::Scalar Color::chartreuse(0, 255, 127);
cv::Scalar Color::chocolate(30, 105, 210);
cv::Scalar Color::coral(80, 127, 255);
cv::Scalar Color::cornflowerblue(237, 149, 100);
cv::Scalar Color::cornsilk(220, 248, 255);
cv::Scalar Color::crimson(60, 20, 220);
cv::Scalar Color::cyan(255, 255, 0);
cv::Scalar Color::darkblue(139, 0, 0);
cv::Scalar Color::darkcyan(139, 139, 0);
cv::Scalar Color::darkgoldenrod(11, 134, 184);
cv::Scalar Color::darkgray(169, 169, 169);
cv::Scalar Color::darkgreen(0, 100, 0);
cv::Scalar Color::darkgrey(169, 169, 169);
cv::Scalar Color::darkkhaki(107, 183, 189);
cv::Scalar Color::darkmagenta(139, 0, 139);
cv::Scalar Color::darkolivegreen(47, 107, 85);
cv::Scalar Color::darkorange(0, 140, 255);
cv::Scalar Color::darkorchid(204, 50, 153);
cv::Scalar Color::darkred(0, 0, 139);
cv::Scalar Color::darksalmon(122, 150, 233);
cv::Scalar Color::darkseagreen(143, 188, 143);
cv::Scalar Color::darkslateblue(139, 61, 72);
cv::Scalar Color::darkslategray(79, 79, 47);
cv::Scalar Color::darkslategrey(79, 79, 47);
cv::Scalar Color::darkturquoise(209, 206, 0);
cv::Scalar Color::darkviolet(211, 0, 148);
cv::Scalar Color::deeppink(147, 20, 255);
cv::Scalar Color::deepskyblue(255, 191, 0);
cv::Scalar Color::dimgray(105, 105, 105);
cv::Scalar Color::dimgrey(105, 105, 105);
cv::Scalar Color::dodgerblue(255, 144, 30);
cv::Scalar Color::firebrick(34, 34, 178);
cv::Scalar Color::floralwhite(240, 250, 255);
cv::Scalar Color::forestgreen(34, 139, 34);
cv::Scalar Color::fuchsia(255, 0, 255);
cv::Scalar Color::gainsboro(220, 220, 220);
cv::Scalar Color::ghostwhite(255, 248, 248);
cv::Scalar Color::gold(0, 215, 255);
cv::Scalar Color::goldenrod(32, 165, 218);
cv::Scalar Color::gray(128, 128, 128);
cv::Scalar Color::green(0, 128, 0);
cv::Scalar Color::greenyellow(47, 255, 173);
cv::Scalar Color::grey(128, 128, 128);
cv::Scalar Color::honeydew(240, 255, 240);
cv::Scalar Color::hotpink(180, 105, 255);
cv::Scalar Color::indianred(92, 92, 205);
cv::Scalar Color::indigo(130, 0, 75);
cv::Scalar Color::ivory(240, 255, 255);
cv::Scalar Color::khaki(140, 230, 240);
cv::Scalar Color::lavender(250, 230, 230);
cv::Scalar Color::lavenderblush(245, 240, 255);
cv::Scalar Color::lawngreen(0, 252, 124);
cv::Scalar Color::lemonchiffon(205, 250, 255);
cv::Scalar Color::lightblue(230, 216, 173);
cv::Scalar Color::lightcoral(128, 128, 240);
cv::Scalar Color::lightcyan(255, 255, 224);
cv::Scalar Color::lightgoldenrodyellow(210, 250, 250);
cv::Scalar Color::lightgray(211, 211, 211);
cv::Scalar Color::lightgreen(144, 238, 144);
cv::Scalar Color::lightgrey(211, 211, 211);
cv::Scalar Color::lightpink(193, 182, 255);
cv::Scalar Color::lightsalmon(122, 160, 255);
cv::Scalar Color::lightseagreen(170, 178, 32);
cv::Scalar Color::lightskyblue(250, 206, 135);
cv::Scalar Color::lightslategray(153, 136, 119);
cv::Scalar Color::lightslategrey(153, 136, 119);
cv::Scalar Color::lightsteelblue(222, 196, 176);
cv::Scalar Color::lightyellow(224, 255, 255);
cv::Scalar Color::lime(0, 255, 0);
cv::Scalar Color::limegreen(50, 205, 50);
cv::Scalar Color::linen(230, 240, 250);
cv::Scalar Color::magenta(255, 0, 255);
cv::Scalar Color::maroon(0, 0, 128);
cv::Scalar Color::mediumaquamarine(170, 205, 102);
cv::Scalar Color::mediumblue(205, 0, 0);
cv::Scalar Color::mediumorchid(211, 85, 186);
cv::Scalar Color::mediumpurple(219, 112, 147);
cv::Scalar Color::mediumseagreen(113, 179, 60);
cv::Scalar Color::mediumslateblue(238, 104, 123);
cv::Scalar Color::mediumspringgreen(154, 250, 0);
cv::Scalar Color::mediumturquoise(204, 209, 72);
cv::Scalar Color::mediumvioletred(133, 21, 199);
cv::Scalar Color::midnightblue(112, 25, 25);
cv::Scalar Color::mintcream(250, 255, 245);
cv::Scalar Color::mistyrose(225, 228, 255);
cv::Scalar Color::moccasin(181, 228, 255);
cv::Scalar Color::navajowhite(173, 222, 255);
cv::Scalar Color::navy(128, 0, 0);
cv::Scalar Color::oldlace(230, 245, 253);
cv::Scalar Color::olive(0, 128, 128);
cv::Scalar Color::olivedrab(35, 142, 107);
cv::Scalar Color::orange(0, 165, 255);
cv::Scalar Color::orangered(0, 69, 255);
cv::Scalar Color::orchid(214, 112, 218);
cv::Scalar Color::palegoldenrod(170, 232, 238);
cv::Scalar Color::palegreen(152, 251, 152);
cv::Scalar Color::paleturquoise(238, 238, 175);
cv::Scalar Color::palevioletred(147, 112, 219);
cv::Scalar Color::papayawhip(213, 239, 255);
cv::Scalar Color::peachpuff(185, 218, 255);
cv::Scalar Color::peru(63, 133, 205);
cv::Scalar Color::pink(203, 192, 255);
cv::Scalar Color::plum(221, 160, 221);
cv::Scalar Color::powderblue(230, 224, 176);
cv::Scalar Color::purple(128, 0, 128);
cv::Scalar Color::red(0, 0, 255);
cv::Scalar Color::rosybrown(143, 143, 188);
cv::Scalar Color::royalblue(225, 105, 65);
cv::Scalar Color::saddlebrown(19, 69, 139);
cv::Scalar Color::salmon(114, 128, 250);
cv::Scalar Color::sandybrown(96, 164, 244);
cv::Scalar Color::seagreen(87, 139, 46);
cv::Scalar Color::seashell(238, 245, 255);
cv::Scalar Color::sienna(45, 82, 160);
cv::Scalar Color::silver(192, 192, 192);
cv::Scalar Color::skyblue(235, 206, 135);
cv::Scalar Color::slateblue(205, 90, 106);
cv::Scalar Color::slategray(144, 128, 112);
cv::Scalar Color::slategrey(144, 128, 112);
cv::Scalar Color::snow(250, 250, 255);
cv::Scalar Color::springgreen(127, 255, 0);
cv::Scalar Color::steelblue(180, 130, 70);
cv::Scalar Color::tan(140, 180, 210);
cv::Scalar Color::teal(128, 128, 0);
cv::Scalar Color::thistle(216, 191, 216);
cv::Scalar Color::tomato(71, 99, 255);
cv::Scalar Color::turquoise(208, 224, 64);
cv::Scalar Color::violet(238, 130, 238);
cv::Scalar Color::wheat(179, 222, 245);
cv::Scalar Color::white(255, 255, 255);
cv::Scalar Color::whitesmoke(245, 245, 245);
cv::Scalar Color::yellow(0, 255, 255);
cv::Scalar Color::yellowgreen(50, 205, 154);
Solution 3
//In the header file add:
class Color
{
public:
static cv::Scalar ColorBlue;
static cv::Scalar ColorRed;
static cv::Scalar ColorGreen;
static cv::Scalar ColorWhite;
static cv::Scalar ColorBlack;
};
//In the cpp file add:
cv::Scalar Color::ColorBlue(255, 0, 0, 0);
cv::Scalar Color::ColorRed(0, 255, 0, 0);
cv::Scalar Color::ColorGreen(0, 0, 255, 0);
cv::Scalar Color::ColorWhite(255, 255, 255, 0);
cv::Scalar Color::ColorBlack(0, 0, 0, 0);
Solution 4
Here is a list of official css colors, translated to OpenCV BGR Scalar:
Just put in colors.h and never again worry about BGR - RGB - Color-Name translation..
#define COLORS_aliceblue Scalar(255,248,240)
#define COLORS_antiquewhite Scalar(215,235,250)
#define COLORS_aqua Scalar(255,255,0)
#define COLORS_aquamarine Scalar(212,255,127)
#define COLORS_azure Scalar(255,255,240)
#define COLORS_beige Scalar(220,245,245)
#define COLORS_bisque Scalar(196,228,255)
#define COLORS_black Scalar(0,0,0)
#define COLORS_blanchedalmond Scalar(205,235,255)
#define COLORS_blue Scalar(255,0,0)
#define COLORS_blueviolet Scalar(226,43,138)
#define COLORS_brown Scalar(42,42,165)
#define COLORS_burlywood Scalar(135,184,222)
#define COLORS_cadetblue Scalar(160,158,95)
#define COLORS_chartreuse Scalar(0,255,127)
#define COLORS_chocolate Scalar(30,105,210)
#define COLORS_coral Scalar(80,127,255)
#define COLORS_cornflowerblue Scalar(237,149,100)
#define COLORS_cornsilk Scalar(220,248,255)
#define COLORS_crimson Scalar(60,20,220)
#define COLORS_cyan Scalar(255,255,0)
#define COLORS_darkblue Scalar(139,0,0)
#define COLORS_darkcyan Scalar(139,139,0)
#define COLORS_darkgoldenrod Scalar(11,134,184)
#define COLORS_darkgray Scalar(169,169,169)
#define COLORS_darkgreen Scalar(0,100,0)
#define COLORS_darkgrey Scalar(169,169,169)
#define COLORS_darkkhaki Scalar(107,183,189)
#define COLORS_darkmagenta Scalar(139,0,139)
#define COLORS_darkolivegreen Scalar(47,107,85)
#define COLORS_darkorange Scalar(0,140,255)
#define COLORS_darkorchid Scalar(204,50,153)
#define COLORS_darkred Scalar(0,0,139)
#define COLORS_darksalmon Scalar(122,150,233)
#define COLORS_darkseagreen Scalar(143,188,143)
#define COLORS_darkslateblue Scalar(139,61,72)
#define COLORS_darkslategray Scalar(79,79,47)
#define COLORS_darkslategrey Scalar(79,79,47)
#define COLORS_darkturquoise Scalar(209,206,0)
#define COLORS_darkviolet Scalar(211,0,148)
#define COLORS_deeppink Scalar(147,20,255)
#define COLORS_deepskyblue Scalar(255,191,0)
#define COLORS_dimgray Scalar(105,105,105)
#define COLORS_dimgrey Scalar(105,105,105)
#define COLORS_dodgerblue Scalar(255,144,30)
#define COLORS_firebrick Scalar(34,34,178)
#define COLORS_floralwhite Scalar(240,250,255)
#define COLORS_forestgreen Scalar(34,139,34)
#define COLORS_fuchsia Scalar(255,0,255)
#define COLORS_gainsboro Scalar(220,220,220)
#define COLORS_ghostwhite Scalar(255,248,248)
#define COLORS_gold Scalar(0,215,255)
#define COLORS_goldenrod Scalar(32,165,218)
#define COLORS_gray Scalar(128,128,128)
#define COLORS_green Scalar(0,128,0)
#define COLORS_greenyellow Scalar(47,255,173)
#define COLORS_grey Scalar(128,128,128)
#define COLORS_honeydew Scalar(240,255,240)
#define COLORS_hotpink Scalar(180,105,255)
#define COLORS_indianred Scalar(92,92,205)
#define COLORS_indigo Scalar(130,0,75)
#define COLORS_ivory Scalar(240,255,255)
#define COLORS_khaki Scalar(140,230,240)
#define COLORS_lavender Scalar(250,230,230)
#define COLORS_lavenderblush Scalar(245,240,255)
#define COLORS_lawngreen Scalar(0,252,124)
#define COLORS_lemonchiffon Scalar(205,250,255)
#define COLORS_lightblue Scalar(230,216,173)
#define COLORS_lightcoral Scalar(128,128,240)
#define COLORS_lightcyan Scalar(255,255,224)
#define COLORS_lightgoldenrodyellow Scalar(210,250,250)
#define COLORS_lightgray Scalar(211,211,211)
#define COLORS_lightgreen Scalar(144,238,144)
#define COLORS_lightgrey Scalar(211,211,211)
#define COLORS_lightpink Scalar(193,182,255)
#define COLORS_lightsalmon Scalar(122,160,255)
#define COLORS_lightseagreen Scalar(170,178,32)
#define COLORS_lightskyblue Scalar(250,206,135)
#define COLORS_lightslategray Scalar(153,136,119)
#define COLORS_lightslategrey Scalar(153,136,119)
#define COLORS_lightsteelblue Scalar(222,196,176)
#define COLORS_lightyellow Scalar(224,255,255)
#define COLORS_lime Scalar(0,255,0)
#define COLORS_limegreen Scalar(50,205,50)
#define COLORS_linen Scalar(230,240,250)
#define COLORS_magenta Scalar(255,0,255)
#define COLORS_maroon Scalar(0,0,128)
#define COLORS_mediumaquamarine Scalar(170,205,102)
#define COLORS_mediumblue Scalar(205,0,0)
#define COLORS_mediumorchid Scalar(211,85,186)
#define COLORS_mediumpurple Scalar(219,112,147)
#define COLORS_mediumseagreen Scalar(113,179,60)
#define COLORS_mediumslateblue Scalar(238,104,123)
#define COLORS_mediumspringgreen Scalar(154,250,0)
#define COLORS_mediumturquoise Scalar(204,209,72)
#define COLORS_mediumvioletred Scalar(133,21,199)
#define COLORS_midnightblue Scalar(112,25,25)
#define COLORS_mintcream Scalar(250,255,245)
#define COLORS_mistyrose Scalar(225,228,255)
#define COLORS_moccasin Scalar(181,228,255)
#define COLORS_navajowhite Scalar(173,222,255)
#define COLORS_navy Scalar(128,0,0)
#define COLORS_oldlace Scalar(230,245,253)
#define COLORS_olive Scalar(0,128,128)
#define COLORS_olivedrab Scalar(35,142,107)
#define COLORS_orange Scalar(0,165,255)
#define COLORS_orangered Scalar(0,69,255)
#define COLORS_orchid Scalar(214,112,218)
#define COLORS_palegoldenrod Scalar(170,232,238)
#define COLORS_palegreen Scalar(152,251,152)
#define COLORS_paleturquoise Scalar(238,238,175)
#define COLORS_palevioletred Scalar(147,112,219)
#define COLORS_papayawhip Scalar(213,239,255)
#define COLORS_peachpuff Scalar(185,218,255)
#define COLORS_peru Scalar(63,133,205)
#define COLORS_pink Scalar(203,192,255)
#define COLORS_plum Scalar(221,160,221)
#define COLORS_powderblue Scalar(230,224,176)
#define COLORS_purple Scalar(128,0,128)
#define COLORS_red Scalar(0,0,255)
#define COLORS_rosybrown Scalar(143,143,188)
#define COLORS_royalblue Scalar(225,105,65)
#define COLORS_saddlebrown Scalar(19,69,139)
#define COLORS_salmon Scalar(114,128,250)
#define COLORS_sandybrown Scalar(96,164,244)
#define COLORS_seagreen Scalar(87,139,46)
#define COLORS_seashell Scalar(238,245,255)
#define COLORS_sienna Scalar(45,82,160)
#define COLORS_silver Scalar(192,192,192)
#define COLORS_skyblue Scalar(235,206,135)
#define COLORS_slateblue Scalar(205,90,106)
#define COLORS_slategray Scalar(144,128,112)
#define COLORS_slategrey Scalar(144,128,112)
#define COLORS_snow Scalar(250,250,255)
#define COLORS_springgreen Scalar(127,255,0)
#define COLORS_steelblue Scalar(180,130,70)
#define COLORS_tan Scalar(140,180,210)
#define COLORS_teal Scalar(128,128,0)
#define COLORS_thistle Scalar(216,191,216)
#define COLORS_tomato Scalar(71,99,255)
#define COLORS_turquoise Scalar(208,224,64)
#define COLORS_violet Scalar(238,130,238)
#define COLORS_wheat Scalar(179,222,245)
#define COLORS_white Scalar(255,255,255)
#define COLORS_whitesmoke Scalar(245,245,245)
#define COLORS_yellow Scalar(0,255,255)
#define COLORS_yellowgreen Scalar(50,205,154)
Comments
-
Rella almost 2 years
I need to create an image filled with some (R,G,B) color. And get that color name like some (R,G,B) = black or red and so on. Can we do such thing with openCV, and how to do it?