Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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
Algorithm 使用OpenCV跟踪用户定义的点_Algorithm_Opencv_Language Agnostic_Tracking - Fatal编程技术网

Algorithm 使用OpenCV跟踪用户定义的点

Algorithm 使用OpenCV跟踪用户定义的点,algorithm,opencv,language-agnostic,tracking,Algorithm,Opencv,Language Agnostic,Tracking,我正在做一个项目,我需要跟踪图像中的两点。到目前为止,识别这些点的最佳方法是让用户在程序首次运行时单击它们。我正在使用OpenCV中内置的Lucas Kanade金字塔方法(,但正如预期的那样,这并不太好。是否有更好的替代算法来跟踪OpenCV中的点,或者其他方法来验证我已经拥有的点? 我目前正在考虑使用GoodFeaturesToTrack,获得从每个点到我想要跟踪的点的距离,可能还有某种向量指出两点之间的关系,并使用这些信息确定我的新点。 我正在寻找解决这个问题的方法建议,不一定是代码示例。

我正在做一个项目,我需要跟踪图像中的两点。到目前为止,识别这些点的最佳方法是让用户在程序首次运行时单击它们。我正在使用OpenCV中内置的Lucas Kanade金字塔方法(,但正如预期的那样,这并不太好。是否有更好的替代算法来跟踪OpenCV中的点,或者其他方法来验证我已经拥有的点?
我目前正在考虑使用GoodFeaturesToTrack,获得从每个点到我想要跟踪的点的距离,可能还有某种向量指出两点之间的关系,并使用这些信息确定我的新点。 我正在寻找解决这个问题的方法建议,不一定是代码示例。 谢谢


编辑:我正在跟踪小的运动,如果这有帮助的话,如果你想寻找一个在opencv中实现的解决方案,金字塔卢卡斯卡纳德(PLK)方法很好,否则我更喜欢基于粒子过滤器的跟踪器。 为了提高PLK的跟踪性能,请确保您已正确设置参数。例如,对于大运动,您需要约3或4的级别。窗口不应太小(我更喜欢17x17到27x27)。同时请记住,这些方法需要纹理区域才能跟踪点。这意味着像角一样的图像内容(孔径问题)

我建议在网格中围绕要跟踪的点(p)设置一组点(p),然后使用前后阈值来拒绝错误跟踪的点。点(p)的运动将通过特定剩余点集(p)的平均运动来计算


通过估计从第1帧到第2帧的运动(ptList1->ptList2)以及从第2帧到第1帧的运动(ptList2->ptListRef)的点来计算前后置信度。如果(| ptRef-pt1 | | |>fb|阈值),将拒绝运动矢量.

OpenCV的LK金字塔非常好…上传一些你的结果图像…它跟踪分数很好,我只是不选择被认为是“好分数”的东西我确定。我很清楚函数的参数和限制,我只是想用一些方法来验证我正在跟踪的点。很抱歉,我忘了我把这个放在这里了。我仍然受到这个问题的困扰,我的截止日期迫在眉睫。在我尝试这个之前,我还需要提交一些其他的修复程序,但这似乎是非常困难的我在找的帽子。谢谢。如果这个周末我有空的话,我会接受的。