A.R.G.U.S 2.1.0
Adaptive Real-Time Guardian for Unsafe Situations
Loading...
Searching...
No Matches
Classes
VisionProcessor.hpp File Reference

Vision safety evaluator for the ARGUS pipeline. More...

#include <opencv2/opencv.hpp>
#include <opencv2/objdetect/aruco_detector.hpp>
#include <chrono>
#include <vector>
#include "Types.hpp"
#include "VisionConfig.hpp"

Go to the source code of this file.

Classes

class  VisionProcessor
 

Detailed Description

VisionProcessor is responsible for one thing only: given a camera frame and its capture timestamp, evaluate whether the forbidden depth-layer colour is visible in the configured ROI.

Design - Single Responsibility Principle
This class does exactly one thing: vision-based safety evaluation. All tunable parameters are injected via VisionConfig at construction, satisfying the Open/Closed Principle - behaviour can be changed by supplying a different config without modifying this class.
Decoupling
Deliberately decoupled from camera capture, threading, state machine logic and logging, making it fully deterministic and unit-testable. Tests can call process() directly with a synthetic frame — no camera needed.
Thread Safety
Not thread-safe. process() must only be called from a single thread (the realtime safety thread).

Definition in file VisionProcessor.hpp.