![]() |
OpenCV 4.12.0
开源计算机视觉
|
此采样器基于粒子滤波。 更多...
#include <opencv2/tracking/tracking_internals.hpp>
类 | |
| 结构体 | 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 继承的保护成员函数 | |
附加继承的成员 | |
从 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 |