Я хочу сделать программу, которая отслеживает положение ручки со светодиодом, перемещает мышь и щелкает. Для этого я использую RGB LED и OpenCV с C ++. Тем не менее, для любого из 3 цветов я просто получаю 87,955 грн. Как я могу их отличить?
Лучше преобразовать цветовое пространство hsv, если вы делаете цветовую сегментацию, так как она не влияет на яркость и изменение освещенности,
Вы можете использовать цветовую гамму, как
cvtColor(src, hsv, CV_BGR2HSV);
inRange(hsv,Scalar(0,50,40), Scalar(10,255,255),thr1); //upper red range of hue cylinder
inRange(hsv,Scalar(165,50,40), Scalar(179,255,255),thr2);// lower red range of hue cylinder
thr1+=thr2; // Red pixels.
Также смотрите цвет hsv-wheel Вот который поможет вам получить точную цветовую гамму в HSV для конкретного цвета
Других решений пока нет …