多目标跟踪实现(非opencv_contrib多目标跟踪模块)
基于cpu多线程实现。
实现流程如下:
- 设置目标跟踪初始框大小。
- 打开本地视频或者相机,读取数据。
- 每当点击一次图像中的目标时,初始化一个跟踪器,然后进入更新状态。每点击一次,就创建一个线程去做跟踪,当目标丢失时,删除该跟踪器。
- 每次循环画跟踪框。
- 退出时,释放所有线程资源。
具体效果见如下:
多目标跟踪
优缺点:
- 点击位置直接以固定大小的目标尺寸进行跟踪,每个目标真实大小本身不固定。
- 丢失后的处理,我在实现过程中是直接删除该跟踪器,这里可以做丢失后重捕获模块,有兴趣的朋友可以深究,
我可以提供本文代码(c++)。 - 纯靠cpu完成,速度也比较快。