Как отличить цвет HSV от RGB светодиодов в opencv?

Я хочу сделать программу, которая отслеживает положение ручки со светодиодом, перемещает мышь и щелкает. Для этого я использую RGB LED и OpenCV с C++. Тем не менее, для любого из 3 цветов я просто получаю 87,955 грн. Как я могу их отличить?

1 ответ

Решение

Лучше преобразовать цветовое пространство 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 здесь, которое поможет вам получить точную цветовую гамму в цветах hsv для определенного цвета.

Другие вопросы по тегам