OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::detail::tracking::tbm::ITrackerByMatching 類參考抽象的

基於匹配的跟蹤演算法介面。 更多...

#include <opencv2/tracking/tracking_by_matching.hpp>

cv::detail::tracking::tbm::ITrackerByMatching 的協作圖

公共型別

using Descriptor = std::shared_ptr<IImageDescriptor>
 
using Distance = std::shared_ptr<IDescriptorDistance>
 

公有成員函式

virtual ~ITrackerByMatching ()
 跟蹤器的解構函式。
 
virtual size_t count () const =0
 返回計數的人數。
 
virtual const DescriptordescriptorFast () const =0
 快速描述符獲取器。
 
virtual const DescriptordescriptorStrong () const =0
 強描述符獲取器。
 
virtual const DistancedistanceFast () const =0
 快速距離獲取器。
 
virtual const DistancedistanceStrong () 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 TrackerParamsparams () 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 &params)=0
 管道引數設定器。
 
virtual TrackedObjects trackedDetections () const =0
 獲取已跟蹤的檢測。
 
virtual const std::unordered_map< size_t, Track > & tracks () const =0
 tracks 返回所有軌跡,包括已遺忘的(很久以前丟失的)。
 

詳細描述

基於匹配的跟蹤演算法介面。

此類是基於匹配的跟蹤系統的實現。它使用兩種不同的外觀度量來計算邊界框之間的親和度:一種快速描述符和一種強描述符。每次都解決分配問題。在本例中,分配問題是如何在現有軌跡和最近檢測到的物件之間建立對應關係。第一步是計算軌跡和檢測之間的親和矩陣。親和度等於 appearance_affinity * motion_affinity * shape_affinity。其中 appearance 為 1 - distance(tracklet_fast_dscr, detection_fast_dscr)。第二步是使用 Kuhn-Munkres 演算法解決分配問題。如果軌跡和檢測之間以低置信度(親和度)建立了對應關係,則使用強描述符來確定軌跡和檢測之間是否存在對應關係。

成員 Typedef 文件

◆ Descriptor

◆ Distance

建構函式 & 解構函式文件

◆ ~ITrackerByMatching()

virtual cv::detail::tracking::tbm::ITrackerByMatching::~ITrackerByMatching ( )
inlinevirtual

跟蹤器的解構函式。

成員函式文件

◆ count()

virtual size_t cv::detail::tracking::tbm::ITrackerByMatching::count ( ) const
純虛擬函式

返回計數的人數。

返回
計數的人數。

◆ descriptorFast()

virtual const Descriptor & cv::detail::tracking::tbm::ITrackerByMatching::descriptorFast ( ) const
純虛擬函式

快速描述符獲取器。

返回
管道中使用的快速描述符。

◆ descriptorStrong()

virtual const Descriptor & cv::detail::tracking::tbm::ITrackerByMatching::descriptorStrong ( ) const
純虛擬函式

強描述符獲取器。

返回
管道中使用的強描述符。

◆ distanceFast()

virtual const Distance & cv::detail::tracking::tbm::ITrackerByMatching::distanceFast ( ) const
純虛擬函式

快速距離獲取器。

返回
管道中使用的快速距離。

◆ distanceStrong()

virtual const Distance & cv::detail::tracking::tbm::ITrackerByMatching::distanceStrong ( ) const
純虛擬函式

強距離獲取器。

返回
管道中使用的強距離。

◆ drawActiveTracks()

virtual cv::Mat cv::detail::tracking::tbm::ITrackerByMatching::drawActiveTracks ( const cv::Mat & frame)
純虛擬函式

在給定幀上繪製活動軌跡。

引數
[輸入]frame彩色影像 (CV_8UC3)。
返回
帶有繪製的活動軌跡的彩色影像。

◆ dropForgottenTrack()

virtual void cv::detail::tracking::tbm::ITrackerByMatching::dropForgottenTrack ( size_t 軌跡ID)
純虛擬函式

dropForgottenTrack 檢查軌跡是否在很久以前丟失並將其從記憶體中移除。

◆ dropForgottenTracks()

virtual void cv::detail::tracking::tbm::ITrackerByMatching::dropForgottenTracks ( )
純虛擬函式

dropForgottenTracks 從記憶體中移除很久以前丟失的軌跡。

◆ getActiveTracks()

virtual std::unordered_map< size_t, std::vector< cv::Point > > cv::detail::tracking::tbm::ITrackerByMatching::getActiveTracks ( ) const
純虛擬函式

獲取要繪製的活動軌跡。

返回
活動軌跡。

◆ isTrackForgotten()

virtual bool cv::detail::tracking::tbm::ITrackerByMatching::isTrackForgotten ( size_t id) const
純虛擬函式

isTrackForgotten 如果軌跡被遺忘,則返回 true。

引數
id軌跡 ID。
返回
如果軌跡被遺忘,則為 true。

◆ isTrackValid()

virtual bool cv::detail::tracking::tbm::ITrackerByMatching::isTrackValid ( size_t 軌跡ID) const
純虛擬函式

isTrackValid 檢查軌跡是否有效(持續時間 > 閾值)。

引數
軌跡ID被檢查軌跡的索引。
返回
如果軌跡持續時間超過某個預定義值,則為 True。

◆ params()

virtual const TrackerParams & cv::detail::tracking::tbm::ITrackerByMatching::params ( ) const
純虛擬函式

管道引數獲取器。

返回
管道引數。

◆ process()

virtual void cv::detail::tracking::tbm::ITrackerByMatching::process ( const cv::Mat & frame,
const TrackedObjects & 檢測,
uint64_t timestamp )
純虛擬函式

處理給定幀。

引數
[輸入]frame彩色影像 (CV_8UC3)。
[輸入]檢測幀上檢測到的物件。
[輸入]timestamp時間戳必須為正值,並以毫秒為單位

◆ setDescriptorFast()

virtual void cv::detail::tracking::tbm::ITrackerByMatching::setDescriptorFast ( const Descriptor & val)
純虛擬函式

快速描述符設定器。

引數
[輸入]val管道中使用的快速描述符。

◆ setDescriptorStrong()

virtual void cv::detail::tracking::tbm::ITrackerByMatching::setDescriptorStrong ( const Descriptor & val)
純虛擬函式

強描述符設定器。

引數
[輸入]val管道中使用的強描述符。

◆ setDistanceFast()

virtual void cv::detail::tracking::tbm::ITrackerByMatching::setDistanceFast ( const Distance & val)
純虛擬函式

快速距離設定器。

引數
[輸入]val管道中使用的快速距離。

◆ setDistanceStrong()

virtual void cv::detail::tracking::tbm::ITrackerByMatching::setDistanceStrong ( const Distance & val)
純虛擬函式

強距離設定器。

引數
[輸入]val管道中使用的強距離。

◆ setParams()

virtual void cv::detail::tracking::tbm::ITrackerByMatching::setParams ( const TrackerParams & params)
純虛擬函式

管道引數設定器。

引數
[輸入]params管道引數。

◆ trackedDetections()

virtual TrackedObjects cv::detail::tracking::tbm::ITrackerByMatching::trackedDetections ( ) const
純虛擬函式

獲取已跟蹤的檢測。

返回
已跟蹤的檢測。

◆ tracks()

virtual const std::unordered_map< size_t, Track > & cv::detail::tracking::tbm::ITrackerByMatching::tracks ( ) const
純虛擬函式

tracks 返回所有軌跡,包括已遺忘的(很久以前丟失的)。

返回
軌跡集合 {ID, 軌跡}。

本類的文件生成自以下檔案