我想制作一个程序,用led跟踪笔的位置,移动鼠标并点击。为了做到这一点,我使用了一个rgb-led和opencv与c++。然而,对于3种颜色中的任何一种,我只得到hsv 87,9255。如何区分它们?
如果你正在进行基于颜色的分割,最好转换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中获得特定颜色的确切颜色范围