Smart Camera ESP32
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
1
6#pragma once
7
8#include "camera.h"
9#include "motion_data.h"
10#include "move_types.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
45 {
46 // Default implementation returns empty motion data
47 return MotionData();
48 }
49};
An abstract base class (Interface) that defines the contract for detection algorithms....
Definition base_detection_module.h:22
virtual MotionData get_motion_data() const
Get the latest motion data from the detection module.
Definition base_detection_module.h:44
virtual ~BaseDetectionModule()=default
Virtual destructor to ensure proper cleanup of derived classes.
virtual std::tuple< MoveX, MoveY > detect_object(camera_buffer_t frame)=0
Analyzes a camera frame to locate a specific object.
Clean abstraction for motion detection results.
Definition motion_data.h:20
Definition camera.h:49