MediaX v1.1.2 [7554dd3]
Video streaming for military vehicles
Loading...
Searching...
No Matches
tracker.h
1#ifndef CVTRACK_TRACKER_H_
2#define CVTRACK_TRACKER_H_
3
4#include <cstdint>
5#include <memory>
6#include <vector>
7
8#include "tracked_object.h"
9
10namespace cvtrack
11{
12
13 // Forward declaration of the internal tracker implementation.
14 class TrackerImpl;
15
16 class Tracker
17 {
18 public:
19 Tracker();
20 ~Tracker();
21
22 // Adds a new object to be tracked.
23 void AddObject(const BoundingBox &box);
24
25 // Updates the tracker with a new frame.
26 // Frame data is a raw buffer of pixel values (e.g., RGB or grayscale).
27 void Update(const uint8_t *frame, int width, int height, int channels);
28
29 // Returns the currently tracked objects.
30 std::vector<TrackedObject> GetTrackedObjects() const;
31
32 private:
33 std::unique_ptr<TrackerImpl> impl_;
34 };
35
36} // namespace cvtrack
37
38#endif // CVTRACK_TRACKER_H_
Definition tracker.h:17
Definition tracked_object.h:11