OpenCV 4.11.0
开源计算机视觉
|
此采样器基于粒子滤波。更多…
#include <opencv2/tracking/tracking_internals.hpp>
类 | |
结构体 | Params |
此结构体包含采样算法过程中所有可变参数。以下是公开的结构体及其成员,并简要解释了其与上述算法工作原理的讨论。更多… | |
公有成员函数 | |
TrackerSamplerPF (const Mat &chosenRect, const TrackerSamplerPF::Params ¶meters=TrackerSamplerPF::Params()) | |
构造函数。 | |
继承自 cv::detail::tracking::TrackerContribSamplerAlgorithm 的公有成员函数 | |
虚函数 | ~TrackerContribSamplerAlgorithm () |
析构函数。 | |
String | getClassName () const |
获取特定 TrackerContribSamplerAlgorithm 的名称。 | |
虚函数 bool | sampling (const Mat &image, const Rect &boundingBox, std::vector< Mat > &sample) CV_OVERRIDE |
从图像中的位置开始计算区域。 | |
继承自 cv::detail::tracking::TrackerSamplerAlgorithm 的公有成员函数 | |
虚函数 | ~TrackerSamplerAlgorithm () |
保护成员函数 | |
bool | samplingImpl (const Mat &image, Rect boundingBox, std::vector< Mat > &sample) CV_OVERRIDE |
继承自 cv::detail::tracking::TrackerContribSamplerAlgorithm 的保护成员函数 |
其他继承成员 | |
继承自 cv::detail::tracking::TrackerContribSamplerAlgorithm 的静态公有成员函数 | |
静态 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 |