![]() |
OpenCV 4.10.0
开源计算机视觉
|
此采样器基于粒子滤波。 更多...
#include <opencv2/tracking/tracking_internals.hpp>
类 | |
| struct | Params |
| 此结构包含在采样算法过程中可以改变的所有参数。 以下是公开的结构,以及简要解释的成员,参考上面关于算法工作原理的讨论。 更多... | |
公共成员函数 | |
| TrackerSamplerPF (const Mat &chosenRect, const TrackerSamplerPF::Params ¶meters=TrackerSamplerPF::Params()) | |
| 构造函数。 | |
从 cv::detail::tracking::TrackerContribSamplerAlgorithm 继承的公共成员函数 | |
| virtual | ~TrackerContribSamplerAlgorithm () |
| 析构函数。 | |
| String | getClassName () const |
| 获取特定 TrackerContribSamplerAlgorithm 的名称。 | |
| virtual bool | sampling (const Mat &image, const Rect &boundingBox, std::vector< Mat > &sample) CV_OVERRIDE |
| 从图像中的位置开始计算区域。 | |
从 cv::detail::tracking::TrackerSamplerAlgorithm 继承的公共成员函数 | |
| virtual | ~TrackerSamplerAlgorithm () |
受保护的成员函数 | |
| bool | samplingImpl (const Mat &image, Rect boundingBox, std::vector< Mat > &sample) CV_OVERRIDE |
额外继承的成员 | |
从 cv::detail::tracking::TrackerContribSamplerAlgorithm 继承的静态公共成员函数 | |
| static Ptr< TrackerContribSamplerAlgorithm > | create (const String &trackerSamplerType) |
| 通过跟踪采样器类型创建 TrackerContribSamplerAlgorithm。 | |
从 cv::detail::tracking::TrackerContribSamplerAlgorithm 继承的受保护属性 | |
| String | className |
此采样器基于粒子滤波。
原则上,可以认为它是在执行某种优化(实际上,此跟踪器使用 opencv 的 optim 模块),其中跟踪器试图在给定帧中找到最 *"相似"* 于初始矩形的矩形(通过构造函数给定的矩形)。
执行的优化是随机的,在某种程度上类似于遗传算法,其中在接收到每个新图像(通过 TrackerSamplerPF::sampling() 提交)时,我们从 boundingBox 限制的区域开始,然后生成几个 *"扰动"* 的框,取最相似于原始框的框。 此选择回合重复多次。 最后,我们希望只保留最有希望的框,并将它们组合起来生成图像的子矩形,该矩形作为数组 sample 中的唯一元素。
需要注意的是,两个矩形之间 *"相似"* 的定义是基于比较它们的直方图。 实验表明,如果目标被认为强烈改变其尺寸,跟踪器不会 非常成功。
| cv::detail::tracking::TrackerSamplerPF::TrackerSamplerPF | ( | const Mat & | chosenRect, |
| const TrackerSamplerPF::Params & | parameters = TrackerSamplerPF::Params() |
||
| ) |
构造函数。
| chosenRect | 初始矩形,应该包含我们要跟踪的目标。 |
| parameters |
1.9.8