\brief The CTracker class
| 8 | /// \brief The CTracker class |
| 9 | /// |
| 10 | class CTracker final : public BaseTracker |
| 11 | { |
| 12 | public: |
| 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 | |
| 29 | private: |
| 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 | /// |
nothing calls this directly
no outgoing calls
no test coverage detected