00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include "cv_bridge/rgb_colors.h"
00037 #include <opencv2/core/core.hpp>
00038
00039
00040 namespace cv_bridge
00041 {
00042
00043 namespace rgb_colors
00044 {
00045
00046 cv::Vec3d getRGBColor(const int color)
00047 {
00048 cv::Vec3d c;
00049 switch (color % 146) {
00050 case ALICEBLUE: c = cv::Vec3d(0.941, 0.973, 1); break;
00051 case ANTIQUEWHITE: c = cv::Vec3d(0.98, 0.922, 0.843); break;
00052 case AQUA: c = cv::Vec3d(0, 1, 1); break;
00053 case AQUAMARINE: c = cv::Vec3d(0.498, 1, 0.831); break;
00054 case AZURE: c = cv::Vec3d(0.941, 1, 1); break;
00055 case BEIGE: c = cv::Vec3d(0.961, 0.961, 0.863); break;
00056 case BISQUE: c = cv::Vec3d(1, 0.894, 0.769); break;
00057 case BLACK: c = cv::Vec3d(0, 0, 0); break;
00058 case BLANCHEDALMOND: c = cv::Vec3d(1, 0.922, 0.804); break;
00059 case BLUE: c = cv::Vec3d(0, 0, 1); break;
00060 case BLUEVIOLET: c = cv::Vec3d(0.541, 0.169, 0.886); break;
00061 case BROWN: c = cv::Vec3d(0.647, 0.165, 0.165); break;
00062 case BURLYWOOD: c = cv::Vec3d(0.871, 0.722, 0.529); break;
00063 case CADETBLUE: c = cv::Vec3d(0.373, 0.62, 0.627); break;
00064 case CHARTREUSE: c = cv::Vec3d(0.498, 1, 0); break;
00065 case CHOCOLATE: c = cv::Vec3d(0.824, 0.412, 0.118); break;
00066 case CORAL: c = cv::Vec3d(1, 0.498, 0.314); break;
00067 case CORNFLOWERBLUE: c = cv::Vec3d(0.392, 0.584, 0.929); break;
00068 case CORNSILK: c = cv::Vec3d(1, 0.973, 0.863); break;
00069 case CRIMSON: c = cv::Vec3d(0.863, 0.0784, 0.235); break;
00070 case CYAN: c = cv::Vec3d(0, 1, 1); break;
00071 case DARKBLUE: c = cv::Vec3d(0, 0, 0.545); break;
00072 case DARKCYAN: c = cv::Vec3d(0, 0.545, 0.545); break;
00073 case DARKGOLDENROD: c = cv::Vec3d(0.722, 0.525, 0.0431); break;
00074 case DARKGRAY: c = cv::Vec3d(0.663, 0.663, 0.663); break;
00075 case DARKGREEN: c = cv::Vec3d(0, 0.392, 0); break;
00076 case DARKGREY: c = cv::Vec3d(0.663, 0.663, 0.663); break;
00077 case DARKKHAKI: c = cv::Vec3d(0.741, 0.718, 0.42); break;
00078 case DARKMAGENTA: c = cv::Vec3d(0.545, 0, 0.545); break;
00079 case DARKOLIVEGREEN: c = cv::Vec3d(0.333, 0.42, 0.184); break;
00080 case DARKORANGE: c = cv::Vec3d(1, 0.549, 0); break;
00081 case DARKORCHID: c = cv::Vec3d(0.6, 0.196, 0.8); break;
00082 case DARKRED: c = cv::Vec3d(0.545, 0, 0); break;
00083 case DARKSALMON: c = cv::Vec3d(0.914, 0.588, 0.478); break;
00084 case DARKSEAGREEN: c = cv::Vec3d(0.561, 0.737, 0.561); break;
00085 case DARKSLATEBLUE: c = cv::Vec3d(0.282, 0.239, 0.545); break;
00086 case DARKSLATEGRAY: c = cv::Vec3d(0.184, 0.31, 0.31); break;
00087 case DARKSLATEGREY: c = cv::Vec3d(0.184, 0.31, 0.31); break;
00088 case DARKTURQUOISE: c = cv::Vec3d(0, 0.808, 0.82); break;
00089 case DARKVIOLET: c = cv::Vec3d(0.58, 0, 0.827); break;
00090 case DEEPPINK: c = cv::Vec3d(1, 0.0784, 0.576); break;
00091 case DEEPSKYBLUE: c = cv::Vec3d(0, 0.749, 1); break;
00092 case DIMGRAY: c = cv::Vec3d(0.412, 0.412, 0.412); break;
00093 case DIMGREY: c = cv::Vec3d(0.412, 0.412, 0.412); break;
00094 case DODGERBLUE: c = cv::Vec3d(0.118, 0.565, 1); break;
00095 case FIREBRICK: c = cv::Vec3d(0.698, 0.133, 0.133); break;
00096 case FLORALWHITE: c = cv::Vec3d(1, 0.98, 0.941); break;
00097 case FORESTGREEN: c = cv::Vec3d(0.133, 0.545, 0.133); break;
00098 case FUCHSIA: c = cv::Vec3d(1, 0, 1); break;
00099 case GAINSBORO: c = cv::Vec3d(0.863, 0.863, 0.863); break;
00100 case GHOSTWHITE: c = cv::Vec3d(0.973, 0.973, 1); break;
00101 case GOLD: c = cv::Vec3d(1, 0.843, 0); break;
00102 case GOLDENROD: c = cv::Vec3d(0.855, 0.647, 0.125); break;
00103 case GRAY: c = cv::Vec3d(0.502, 0.502, 0.502); break;
00104 case GREEN: c = cv::Vec3d(0, 0.502, 0); break;
00105 case GREENYELLOW: c = cv::Vec3d(0.678, 1, 0.184); break;
00106 case GREY: c = cv::Vec3d(0.502, 0.502, 0.502); break;
00107 case HONEYDEW: c = cv::Vec3d(0.941, 1, 0.941); break;
00108 case HOTPINK: c = cv::Vec3d(1, 0.412, 0.706); break;
00109 case INDIANRED: c = cv::Vec3d(0.804, 0.361, 0.361); break;
00110 case INDIGO: c = cv::Vec3d(0.294, 0, 0.51); break;
00111 case IVORY: c = cv::Vec3d(1, 1, 0.941); break;
00112 case KHAKI: c = cv::Vec3d(0.941, 0.902, 0.549); break;
00113 case LAVENDER: c = cv::Vec3d(0.902, 0.902, 0.98); break;
00114 case LAVENDERBLUSH: c = cv::Vec3d(1, 0.941, 0.961); break;
00115 case LAWNGREEN: c = cv::Vec3d(0.486, 0.988, 0); break;
00116 case LEMONCHIFFON: c = cv::Vec3d(1, 0.98, 0.804); break;
00117 case LIGHTBLUE: c = cv::Vec3d(0.678, 0.847, 0.902); break;
00118 case LIGHTCORAL: c = cv::Vec3d(0.941, 0.502, 0.502); break;
00119 case LIGHTCYAN: c = cv::Vec3d(0.878, 1, 1); break;
00120 case LIGHTGOLDENRODYELLOW: c = cv::Vec3d(0.98, 0.98, 0.824); break;
00121 case LIGHTGRAY: c = cv::Vec3d(0.827, 0.827, 0.827); break;
00122 case LIGHTGREEN: c = cv::Vec3d(0.565, 0.933, 0.565); break;
00123 case LIGHTGREY: c = cv::Vec3d(0.827, 0.827, 0.827); break;
00124 case LIGHTPINK: c = cv::Vec3d(1, 0.714, 0.757); break;
00125 case LIGHTSALMON: c = cv::Vec3d(1, 0.627, 0.478); break;
00126 case LIGHTSEAGREEN: c = cv::Vec3d(0.125, 0.698, 0.667); break;
00127 case LIGHTSKYBLUE: c = cv::Vec3d(0.529, 0.808, 0.98); break;
00128 case LIGHTSLATEGRAY: c = cv::Vec3d(0.467, 0.533, 0.6); break;
00129 case LIGHTSLATEGREY: c = cv::Vec3d(0.467, 0.533, 0.6); break;
00130 case LIGHTSTEELBLUE: c = cv::Vec3d(0.69, 0.769, 0.871); break;
00131 case LIGHTYELLOW: c = cv::Vec3d(1, 1, 0.878); break;
00132 case LIME: c = cv::Vec3d(0, 1, 0); break;
00133 case LIMEGREEN: c = cv::Vec3d(0.196, 0.804, 0.196); break;
00134 case LINEN: c = cv::Vec3d(0.98, 0.941, 0.902); break;
00135 case MAGENTA: c = cv::Vec3d(1, 0, 1); break;
00136 case MAROON: c = cv::Vec3d(0.502, 0, 0); break;
00137 case MEDIUMAQUAMARINE: c = cv::Vec3d(0.4, 0.804, 0.667); break;
00138 case MEDIUMBLUE: c = cv::Vec3d(0, 0, 0.804); break;
00139 case MEDIUMORCHID: c = cv::Vec3d(0.729, 0.333, 0.827); break;
00140 case MEDIUMPURPLE: c = cv::Vec3d(0.576, 0.439, 0.859); break;
00141 case MEDIUMSEAGREEN: c = cv::Vec3d(0.235, 0.702, 0.443); break;
00142 case MEDIUMSLATEBLUE: c = cv::Vec3d(0.482, 0.408, 0.933); break;
00143 case MEDIUMSPRINGGREEN: c = cv::Vec3d(0, 0.98, 0.604); break;
00144 case MEDIUMTURQUOISE: c = cv::Vec3d(0.282, 0.82, 0.8); break;
00145 case MEDIUMVIOLETRED: c = cv::Vec3d(0.78, 0.0824, 0.522); break;
00146 case MIDNIGHTBLUE: c = cv::Vec3d(0.098, 0.098, 0.439); break;
00147 case MINTCREAM: c = cv::Vec3d(0.961, 1, 0.98); break;
00148 case MISTYROSE: c = cv::Vec3d(1, 0.894, 0.882); break;
00149 case MOCCASIN: c = cv::Vec3d(1, 0.894, 0.71); break;
00150 case NAVAJOWHITE: c = cv::Vec3d(1, 0.871, 0.678); break;
00151 case NAVY: c = cv::Vec3d(0, 0, 0.502); break;
00152 case OLDLACE: c = cv::Vec3d(0.992, 0.961, 0.902); break;
00153 case OLIVE: c = cv::Vec3d(0.502, 0.502, 0); break;
00154 case OLIVEDRAB: c = cv::Vec3d(0.42, 0.557, 0.137); break;
00155 case ORANGE: c = cv::Vec3d(1, 0.647, 0); break;
00156 case ORANGERED: c = cv::Vec3d(1, 0.271, 0); break;
00157 case ORCHID: c = cv::Vec3d(0.855, 0.439, 0.839); break;
00158 case PALEGOLDENROD: c = cv::Vec3d(0.933, 0.91, 0.667); break;
00159 case PALEGREEN: c = cv::Vec3d(0.596, 0.984, 0.596); break;
00160 case PALEVIOLETRED: c = cv::Vec3d(0.686, 0.933, 0.933); break;
00161 case PAPAYAWHIP: c = cv::Vec3d(1, 0.937, 0.835); break;
00162 case PEACHPUFF: c = cv::Vec3d(1, 0.855, 0.725); break;
00163 case PERU: c = cv::Vec3d(0.804, 0.522, 0.247); break;
00164 case PINK: c = cv::Vec3d(1, 0.753, 0.796); break;
00165 case PLUM: c = cv::Vec3d(0.867, 0.627, 0.867); break;
00166 case POWDERBLUE: c = cv::Vec3d(0.69, 0.878, 0.902); break;
00167 case PURPLE: c = cv::Vec3d(0.502, 0, 0.502); break;
00168 case RED: c = cv::Vec3d(1, 0, 0); break;
00169 case ROSYBROWN: c = cv::Vec3d(0.737, 0.561, 0.561); break;
00170 case ROYALBLUE: c = cv::Vec3d(0.255, 0.412, 0.882); break;
00171 case SADDLEBROWN: c = cv::Vec3d(0.545, 0.271, 0.0745); break;
00172 case SALMON: c = cv::Vec3d(0.98, 0.502, 0.447); break;
00173 case SANDYBROWN: c = cv::Vec3d(0.98, 0.643, 0.376); break;
00174 case SEAGREEN: c = cv::Vec3d(0.18, 0.545, 0.341); break;
00175 case SEASHELL: c = cv::Vec3d(1, 0.961, 0.933); break;
00176 case SIENNA: c = cv::Vec3d(0.627, 0.322, 0.176); break;
00177 case SILVER: c = cv::Vec3d(0.753, 0.753, 0.753); break;
00178 case SKYBLUE: c = cv::Vec3d(0.529, 0.808, 0.922); break;
00179 case SLATEBLUE: c = cv::Vec3d(0.416, 0.353, 0.804); break;
00180 case SLATEGRAY: c = cv::Vec3d(0.439, 0.502, 0.565); break;
00181 case SLATEGREY: c = cv::Vec3d(0.439, 0.502, 0.565); break;
00182 case SNOW: c = cv::Vec3d(1, 0.98, 0.98); break;
00183 case SPRINGGREEN: c = cv::Vec3d(0, 1, 0.498); break;
00184 case STEELBLUE: c = cv::Vec3d(0.275, 0.51, 0.706); break;
00185 case TAN: c = cv::Vec3d(0.824, 0.706, 0.549); break;
00186 case TEAL: c = cv::Vec3d(0, 0.502, 0.502); break;
00187 case THISTLE: c = cv::Vec3d(0.847, 0.749, 0.847); break;
00188 case TOMATO: c = cv::Vec3d(1, 0.388, 0.278); break;
00189 case TURQUOISE: c = cv::Vec3d(0.251, 0.878, 0.816); break;
00190 case VIOLET: c = cv::Vec3d(0.933, 0.51, 0.933); break;
00191 case WHEAT: c = cv::Vec3d(0.961, 0.871, 0.702); break;
00192 case WHITE: c = cv::Vec3d(1, 1, 1); break;
00193 case WHITESMOKE: c = cv::Vec3d(0.961, 0.961, 0.961); break;
00194 case YELLOW: c = cv::Vec3d(1, 1, 0); break;
00195 case YELLOWGREEN: c = cv::Vec3d(0.604, 0.804, 0.196); break;
00196 }
00197 return c;
00198 }
00199
00200 }
00201
00202 }