RGB - не лучшее цветовое пространство для такого рода вещей. Цветовое пространство, такое как HSV (также известное как HSB) , обеспечивает более интуитивно понятную и описательную модель для данного цвета.
Итак, чтобы получить то, что вы есть, вы можете использовать оттенок данного цвета. Если вы имеете дело со структурой System.Drawing.Color
, вы можете использовать метод GetHue () , который возвращает значение оттенка в градусах. Используя колесо оттенка, подобное приведенному ниже, вы можете определить верхний и нижний порог (в градусах) для значений синего цвета, которые вы примете.
Обработка изображений и теория цвета в целом далеки от тривиальных предметов. Я бы посоветовал вам найти самый простой метод, который отвечает вашим требованиям. Это может быть достаточно для вас, а может и нет. Если нет, то, возможно, вы можете немного сузить вопрос для меня.
Также осознайте, что вам все еще понадобится пороговое значение для компонентов Яркость и Насыщенность, чтобы гарантировать, что вы на самом деле не имеете дело с черным, белым или серым.