How to create openCV image of certain (R, G, B) color and get that color name?

18,044

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)
Share:
18,044
Rella
Author by

Rella

Hi! sorry - I am C/C++ noobe, and I am reading a book=)

Updated on June 14, 2022

Comments

  • Rella
    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?