Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用opencv跟踪的最佳颜色 我使用一个程序来跟踪对象(在我的例子中是笔),使用OpenCV C++代码< /p>_C++_Opencv - Fatal编程技术网

使用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值使用轨迹栏,您将获得您的对象,然后您可以轻松地跟踪该对象。否则,您可以利用对象的轮廓特性。

无需显示检测代码,也许没有人能够回答您的问题。