Я пытаюсь создать программу для определения цветов кубика Рубика
это скриншот того, что у меня есть и работает до сих пор, я в основном использовал код из примера Edge Detection, который поставляется с emguCV, и использовал его для обнаружения маленьких кубов (но, как вы можете видеть, некоторые из маленьких кубов не обнаруживаются, но это не та проблема, которую я хочу обсудить здесь).
Теперь, узнав, ГДЕ находятся маленькие кубики, я хочу определить, какого они цвета, в настоящее время я использую значения HSV для определения цвета, например:
if (current_colour.Hue > 120 && current_colour.Hue < 170)
{
Colours[(int)colornames.W]++;
}
else if (current_colour.Hue > (170))
{
Colours[(int)colornames.R]++;
}
else if (current_colour.Hue > 5 && current_colour.Hue < 20 )
{
Colours[(int)colornames.O]++;
}
else if (current_colour.Hue > 47 && current_colour.Hue< 60)
{
Colours[(int)colornames.G]++;
}
else if (current_colour.Hue > 15 && current_colour.Hue < 30)
{
Colours[(int)colornames.Y]++;
}
else if (current_colour.Hue > 100 && current_colour.Hue < 110)
{
Colours[(int)colornames.B]++;
}
где значения для каждого цвета, которые я получил методом проб и ошибок с помощью фотошопа ... Я уверен, что должен быть какой-то лучший способ, поскольку я получаю перемешанные результаты (особенно с белым и красным). Любая помощь?