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