Void Sentry
An AI-driven, real-time Sentry Turret platform leveraging asynchronous I/O and computer vision to deliver high-precision autonomous motion tracking on resource-constrained embedded hardware.
Loading...
Searching...
No Matches
base_detection_module.h
Go to the documentation of this file.
1
6#pragma once
7
8#include "camera.h"
9#include "move_types.h"
10#include "track_snapshot.h"
11#include <esp_camera.h>
12#include <tuple>
13
22{
23public:
27 virtual ~BaseDetectionModule() = default;
28
36 virtual std::tuple<MoveX, MoveY> detect_object(camera_buffer_t frame) = 0;
37
42 virtual TrackSnapshot get_track_snapshot() const { return TrackSnapshot{}; }
43
45 virtual void reset() {}
46
48 virtual DetectionStats get_stats() const { return DetectionStats{}; }
49};
An abstract base class (Interface) that defines the contract for detection algorithms....
Definition base_detection_module.h:22
virtual TrackSnapshot get_track_snapshot() const
Latest tracker output, safe to call from another task (implementations copy under a lock).
Definition base_detection_module.h:42
virtual DetectionStats get_stats() const
Detection timings and counters for the stats line.
Definition base_detection_module.h:48
virtual ~BaseDetectionModule()=default
Virtual destructor to ensure proper cleanup of derived classes.
virtual void reset()
Drop the current target and background. Implementations must make this safe to call from any task.
Definition base_detection_module.h:45
virtual std::tuple< MoveX, MoveY > detect_object(camera_buffer_t frame)=0
Analyzes a camera frame to locate a specific object.
movement definitions for the Smart Camera project.
Definition track_snapshot.h:32
Definition track_snapshot.h:14
Definition camera.h:14
Plain copies of the tracker output and detection timings, safe to hand across tasks.