24 #include <fvutils/color/color_object_map.h>
26 namespace firevision {
70 ColorObjectMap *ColorObjectMap::singleton_ =
new ColorObjectMap();
75 ColorObjectMap::ColorObjectMap()
78 h_unknown_ = H_UNKNOWN;
81 set_mapping(H_BALL, C_ORANGE);
82 set_mapping(H_ROBOT, C_BLACK);
83 set_mapping(H_ROBOT_OPP, C_RED);
84 set_mapping(H_FIELD, C_GREEN);
85 set_mapping(H_GOAL_YELLOW, C_YELLOW);
86 set_mapping(H_GOAL_BLUE, C_CYAN);
87 set_mapping(H_LINE, C_WHITE);
88 set_mapping(H_BACKGROUND, C_BACKGROUND);
104 case C_ORANGE:
return YUV_t::orange();
106 case C_MAGENTA:
return YUV_t::magenta();
108 case C_CYAN:
return YUV_t::cyan();
110 case C_BLUE:
return YUV_t::blue();
112 case C_YELLOW:
return YUV_t::yellow();
114 case C_GREEN:
return YUV_t::green();
116 case C_WHITE:
return YUV_t::white();
118 case C_RED:
return YUV_t::red();
120 case C_BLACK:
return YUV_t::black();
123 return YUV_t::gray();
133 ColorObjectMap::set_mapping(hint_t roi, color_t color)
135 hint_t cur_roi =
get(color);
136 if (cur_roi != H_UNKNOWN)
138 color_t cur_col =
get(roi);
139 color_for_hint_[cur_roi] = C_OTHER;
140 hint_for_color_[cur_col] = H_UNKNOWN;
143 color_for_hint_[roi] = color;
144 hint_for_color_[color] = roi;