Я пытаюсь создать программу для обнаружения цветов на кубике Рубика ![](https://i.stack.imgur.com/SmvVT.jpg)
, это скриншот того, что у меня работает и работает, я в основном использовал код из 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]++;
}
, где значения для каждого цвета, которые я получил из пробной версиии ошибка при использовании фотошопа ... Я уверен, что должен быть какой-то лучший способ, поскольку я получаю результаты, которые перемешаны (особенно с белым и красным) Любая помощь?