OpenCV 4.10.0
开源计算机视觉库
|
基于匹配的跟踪算法接口。 更多...
#include <opencv2/tracking/tracking_by_matching.hpp>
公共类型 | |
using | Descriptor = std::shared_ptr< IImageDescriptor > |
using | Distance = std::shared_ptr< IDescriptorDistance > |
公共成员函数 | |
virtual | ~ITrackerByMatching () |
跟踪器的析构函数。 | |
virtual size_t | count () const =0 |
返回已计数的人数。 | |
virtual const Descriptor & | descriptorFast () const =0 |
快速描述符获取器。 | |
virtual const Descriptor & | descriptorStrong () const =0 |
强描述符获取器。 | |
virtual const Distance & | distanceFast () const =0 |
快速距离获取器。 | |
virtual const Distance & | distanceStrong () const =0 |
强距离获取器。 | |
virtual cv::Mat | drawActiveTracks (const cv::Mat &frame)=0 |
在给定帧上绘制活动轨迹。 | |
virtual void | dropForgottenTrack (size_t track_id)=0 |
dropForgottenTrack 检查轨迹是否在很久之前丢失,并将其从内存中删除。 | |
virtual void | dropForgottenTracks ()=0 |
dropForgottenTracks 从内存中删除很久之前丢失的轨迹。 | |
virtual std::unordered_map< size_t, std::vector< cv::Point > > | getActiveTracks () const =0 |
获取要绘制的活动轨迹。 | |
virtual bool | isTrackForgotten (size_t id) const =0 |
isTrackForgotten 如果轨迹被遗忘则返回 true。 | |
virtual bool | isTrackValid (size_t track_id) const =0 |
isTrackValid 检查轨迹是否有效(持续时间 > 阈值)。 | |
virtual const TrackerParams & | params () const =0 |
获取管道参数。 | |
virtual void | process (const cv::Mat &frame, const TrackedObjects &detections, uint64_t timestamp)=0 |
处理给定帧。 | |
virtual void | setDescriptorFast (const Descriptor &val)=0 |
快速描述符设置器。 | |
virtual void | setDescriptorStrong (const Descriptor &val)=0 |
强描述符设置器。 | |
virtual void | setDistanceFast (const Distance &val)=0 |
快速距离设置器。 | |
virtual void | setDistanceStrong (const Distance &val)=0 |
强距离设置器。 | |
virtual void | setParams (const TrackerParams ¶ms)=0 |
管道参数设置器。 | |
virtual TrackedObjects | trackedDetections () const =0 |
获取跟踪到的检测结果。 | |
virtual const std::unordered_map< size_t, Track > & | tracks () const =0 |
tracks 返回所有轨迹,包括已遗忘的(很久之前丢失的)。 | |
基于匹配的跟踪算法接口。
此类是基于匹配的跟踪系统的实现。它使用两种不同的外观度量来计算边界框之间的亲和度:快速描述符和强描述符。每次都解决分配问题。在我们案例中的分配问题是怎样在现有的轨迹片段和最近检测到的物体之间建立对应关系。第一步是计算轨迹片段和检测结果之间的亲和度矩阵。亲和度等于外观亲和度 * 运动亲和度 * 形状亲和度。其中外观为 1 - 距离(轨迹片段快速描述符,检测结果快速描述符)。第二步是使用 Kuhn-Munkres 算法解决分配问题。如果某些轨迹片段和检测结果之间建立了对应关系,但置信度(亲和度)很低,则使用强描述符来确定轨迹片段和检测结果之间是否存在对应关系。
using cv::detail::tracking::tbm::ITrackerByMatching::Descriptor = std::shared_ptr<IImageDescriptor> |
using cv::detail::tracking::tbm::ITrackerByMatching::Distance = std::shared_ptr<IDescriptorDistance> |
|
内联虚函数 |
跟踪器的析构函数。
|
纯虚函数 |
返回已计数的人数。
|
纯虚函数 |
快速描述符获取器。
|
纯虚函数 |
强描述符获取器。
|
纯虚函数 |
快速距离获取器。
|
纯虚函数 |
强距离获取器。
|
纯虚函数 |
在给定帧上绘制活动轨迹。
[in] | frame | 彩色图像 (CV_8UC3)。 |
|
纯虚函数 |
dropForgottenTrack 检查轨迹是否在很久之前丢失,并将其从内存中删除。
|
纯虚函数 |
dropForgottenTracks 从内存中删除很久之前丢失的轨迹。
|
纯虚函数 |
获取要绘制的活动轨迹。
|
纯虚函数 |
|
纯虚函数 |
isTrackValid 检查轨迹是否有效(持续时间 > 阈值)。
track_id | 所检查轨迹的索引。 |
|
纯虚函数 |
获取管道参数。
|
纯虚函数 |
处理给定帧。
[in] | frame | 彩色图像 (CV_8UC3)。 |
[in] | detections | 帧上检测到的物体。 |
[in] | timestamp | 时间戳必须为正数,并以毫秒为单位测量。 |
|
纯虚函数 |
快速描述符设置器。
[in] | val | 管道中使用的快速描述符。 |
|
纯虚函数 |
强描述符设置器。
[in] | val | 管道中使用的强描述符。 |
|
纯虚函数 |
快速距离设置器。
[in] | val | 管道中使用的快速距离。 |
|
纯虚函数 |
强距离设置器。
[in] | val | 管道中使用的强距离。 |
|
纯虚函数 |
管道参数设置器。
[in] | params | 管道的参数。 |
|
纯虚函数 |
获取跟踪到的检测结果。
|
纯虚函数 |
tracks 返回所有轨迹,包括已遗忘的(很久之前丢失的)。