使用opencv跟踪的最佳颜色 我使用一个程序来跟踪对象(在我的例子中是笔),使用OpenCV C++代码< /p>
我想根据物体的颜色来跟踪它,我想很容易地从背景中区分出来 通过测试,我认识到我们称之为磷光的发光颜色更能从其他物体上识别出来。。使用opencv跟踪的最佳颜色 我使用一个程序来跟踪对象(在我的例子中是笔),使用OpenCV C++代码< /p>,c++,opencv,C++,Opencv,我想根据物体的颜色来跟踪它,我想很容易地从背景中区分出来 通过测试,我认识到我们称之为磷光的发光颜色更能从其他物体上识别出来。。 有人知道为什么它们比其他颜色更容易辨认吗 跟踪对象的最佳方法是将从RGB获得的视频转换为HSV //convert frame from BGR to HSV colorspace cvtColor(cameraFeed,HSV,COLOR_BGR2HSV); 然后使用腐蚀()和扩张()功能来避免混乱 而不是使用一定范围的色调值,您可以选择一个范围的颜色 没有最好的
有人知道为什么它们比其他颜色更容易辨认吗 跟踪对象的最佳方法是将从RGB获得的视频转换为HSV
//convert frame from BGR to HSV colorspace
cvtColor(cameraFeed,HSV,COLOR_BGR2HSV);
然后使用腐蚀()
和扩张()
功能来避免混乱
而不是使用一定范围的色调值,您可以选择一个范围的颜色
没有最好的颜色,重要的是你的物体和背景之间的差异
在ROI中搜索绿色
//initial min and max HSV filter values.
//these will be changed using trackbars
int H_MIN = 0;
int H_MAX = 180;
int S_MIN = 0;
int S_MAX = 255;
int V_MIN = 20;
int V_MAX = 50;
//filter HSV image between values and store filtered image to
//threshold matrix
inRange(HSV,Scalar(H_MIN,S_MIN,V_MIN),Scalar(H_MAX,S_MAX,V_MAX),threshold);
不过,如果你有一段代码,只是为了测试你所说的发光颜色,那将非常有用。将图像转换为hsv,然后通过更改h,s,v值使用轨迹栏,您将获得您的对象,然后您可以轻松地跟踪该对象。否则,您可以利用对象的轮廓特性。无需显示检测代码,也许没有人能够回答您的问题。