MCPcopy Create free account
hub / github.com/Smorodov/Multitarget-tracker / CTracker

Class CTracker

src/Tracker/Ctracker.cpp:10–48  ·  view source on GitHub ↗

\brief The CTracker class

Source from the content-addressed store, hash-verified

8/// \brief The CTracker class
9///
10class CTracker final : public BaseTracker
11{
12public:
13 CTracker(const TrackerSettings& settings);
14 CTracker(const CTracker&) = delete;
15 CTracker(CTracker&&) = delete;
16 CTracker& operator=(const CTracker&) = delete;
17 CTracker& operator=(CTracker&&) = delete;
18
19 ~CTracker(void) = default;
20
21 void Update(const regions_t& regions, cv::UMat currFrame, time_point_t frameTime) override;
22
23 bool CanGrayFrameToTrack() const override;
24 bool CanColorFrameToTrack() const override;
25 size_t GetTracksCount() const override;
26 void GetTracks(std::vector<TrackingObject>& tracks) const override;
27 void GetRemovedTracks(std::vector<track_id_t>& trackIDs) const override;
28
29private:
30 TrackerSettings m_settings;
31
32 tracks_t m_tracks;
33 time_point_t m_lastFrameTime;
34
35 track_id_t m_nextTrackID;
36 std::vector<track_id_t> m_removedObjects;
37
38 cv::UMat m_prevFrame;
39
40 std::unique_ptr<ShortPathCalculator> m_SPCalculator;
41 std::map<objtype_t, std::shared_ptr<EmbeddingsCalculator>> m_embCalculators;
42
43 void CreateDistaceMatrix(const regions_t& regions, const std::vector<RegionEmbedding>& regionEmbeddings, distMatrix_t& costMatrix, track_t maxPossibleCost, track_t& maxCost);
44 void UpdateTrackingState(const regions_t& regions, cv::UMat currFrame, time_point_t frameTime);
45 void CalcEmbeddins(std::vector<RegionEmbedding>& regionEmbeddings, const regions_t& regions, cv::UMat currFrame) const;
46
47 track_t GetEllipseDist(const CTrack& trackRef, const CRegion& reg);
48};
49// ----------------------------------------------------------------------
50
51///

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected