我需要使用压缩算法和 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 中可用的功能?