![]() |
OpenCV 4.12.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 返回所有軌跡,包括已遺忘的(很久以前丟失的)。 | |
基於匹配的跟蹤演算法介面。
此類是基於匹配的跟蹤系統的實現。它使用兩種不同的外觀度量來計算邊界框之間的親和度:一種快速描述符和一種強描述符。每次都解決分配問題。在本例中,分配問題是如何在現有軌跡和最近檢測到的物件之間建立對應關係。第一步是計算軌跡和檢測之間的親和矩陣。親和度等於 appearance_affinity * motion_affinity * shape_affinity。其中 appearance 為 1 - distance(tracklet_fast_dscr, detection_fast_dscr)。第二步是使用 Kuhn-Munkres 演算法解決分配問題。如果軌跡和檢測之間以低置信度(親和度)建立了對應關係,則使用強描述符來確定軌跡和檢測之間是否存在對應關係。
| using cv::detail::tracking::tbm::ITrackerByMatching::Descriptor = std::shared_ptr<IImageDescriptor> |
| using cv::detail::tracking::tbm::ITrackerByMatching::Distance = std::shared_ptr<IDescriptorDistance> |
|
inlinevirtual |
跟蹤器的解構函式。
|
純虛擬函式 |
返回計數的人數。
|
純虛擬函式 |
快速描述符獲取器。
|
純虛擬函式 |
強描述符獲取器。
|
純虛擬函式 |
快速距離獲取器。
|
純虛擬函式 |
強距離獲取器。
|
純虛擬函式 |
在給定幀上繪製活動軌跡。
| [輸入] | frame | 彩色影像 (CV_8UC3)。 |
|
純虛擬函式 |
dropForgottenTrack 檢查軌跡是否在很久以前丟失並將其從記憶體中移除。
|
純虛擬函式 |
dropForgottenTracks 從記憶體中移除很久以前丟失的軌跡。
|
純虛擬函式 |
獲取要繪製的活動軌跡。
|
純虛擬函式 |
|
純虛擬函式 |
isTrackValid 檢查軌跡是否有效(持續時間 > 閾值)。
| 軌跡ID | 被檢查軌跡的索引。 |
|
純虛擬函式 |
管道引數獲取器。
|
純虛擬函式 |
處理給定幀。
| [輸入] | frame | 彩色影像 (CV_8UC3)。 |
| [輸入] | 檢測 | 幀上檢測到的物件。 |
| [輸入] | timestamp | 時間戳必須為正值,並以毫秒為單位 |
|
純虛擬函式 |
快速描述符設定器。
| [輸入] | val | 管道中使用的快速描述符。 |
|
純虛擬函式 |
強描述符設定器。
| [輸入] | val | 管道中使用的強描述符。 |
|
純虛擬函式 |
快速距離設定器。
| [輸入] | val | 管道中使用的快速距離。 |
|
純虛擬函式 |
強距離設定器。
| [輸入] | val | 管道中使用的強距離。 |
|
純虛擬函式 |
管道引數設定器。
| [輸入] | params | 管道引數。 |
|
純虛擬函式 |
獲取已跟蹤的檢測。
|
純虛擬函式 |
tracks 返回所有軌跡,包括已遺忘的(很久以前丟失的)。