如何使用OpenCV中可用的凝聚算法?
How to use the condensation algorithm available in OpenCV?
我需要实现一个软件,使用凝聚算法和OpenCV库来跟踪图像流中的移动对象。我已经读过OpenCV包含该算法的实现,但我没有找到解释如何使用OpenCV中可用的相应函数的示例或教程。
cvCreateConDensation
函数分配CvConDensation
结构,需要状态向量的维数(dynam_params
)、测量向量的维数(measure_params
)和样本数(sample_count
)。
- :例如,如果状态可以是被跟踪对象的中心点,那么状态向量应该包含对象中心的两个坐标,所以在这种情况下状态向量的维度应该是 2;以类似的方式, 如果一个物体的状态是由属于其形状的 S 点形成的,那么我将指定 2*S 作为
dynam_params
值(即坐标数等于2*S)。这是对的吗? - 样本数就是粒子数,因此参数
sample_count
必须与用于跟踪物体的粒子数一起设置。 - 测量矢量的尺寸如何?
measure_params
参数的目的是什么?
cvConDensInitSampleSet
函数初始化冷凝算法的样本集。哪个规则用于初始化样本集?哪个分布用于初始化样本集?给定要跟踪的对象的起始位置和边界框,此函数如何初始化样本集?
执行算法的完整交互(选择、预测和测量)的函数是什么?如何更新示例?
有没有教程详细解释如何使用OpenCV中可用的功能?
凝聚算法的一个工作示例可以在opencv和ross(同一作者)的问答中找到:
http://answers.ros.org/question/55316/using-the-opencv-particle-filter-condensation/
和
http://answers.opencv.org/question/6985/syntax-for-particle-filter-in-opencv-243/
这是粒子过滤器的另一种实现,使用了OpenCV和GSL库。作者提供的源代码易于阅读。也许你可以从中学到一些东西。
相关文章:
- 为什么这个运算符<重载函数对 STL 算法不可见?
- 基于ELO的团队匹配算法
- C++选择排序算法中的逻辑错误
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- C++A*算法并不总是在路径中具有目标节点
- 排序算法c++
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 算法问题:查找从堆栈中弹出的所有序列
- 下面是排序算法O(n)吗
- KMP算法和LPS表构造的运行时间
- 为什么我的排序算法会更改数组值
- 求最大元素位置的分治算法
- 具有非整数边容量的最大流量的Dinic算法
- 到连接组件算法的问题(递归)
- STL算法函数在多个一维容器上的使用
- 读取最后一行代码算法 - c++ 时出现问题
- 括号更改 O(n) 算法
- std::unordered_map 搜索算法是如何实现的?
- 如何实现高效的算法来计算大型数据集的多个不同值?
- 如何使用OpenCV中可用的凝聚算法?