10#include <opencv2/opencv.hpp>
110 float current_focus_position_ = -1.0f;
Camera capture facade with pluggable backend implementations.
BackendPreference backendPreference() const noexcept
Return requested backend preference.
BackendPreference
Backend selection policy.
@ Auto
Auto-select backend based on platform/runtime constraints.
@ OpenCvVideoCapture
Force OpenCV VideoCapture backend.
@ Libcamera2OpenCv
Force libcamera2opencv callback backend.
bool setFocusPosition(float position)
Set camera focus position when backend/hardware supports it.
std::string backendName() const
Return active backend name.
CameraCapture & operator=(CameraCapture &&)=delete
float getFocusPosition() const
Get current requested focus position.
bool waitForNextFrame(FrameEvent &output_event)
Wait for the next captured frame.
CameraCapture(const CameraCapture &)=delete
~CameraCapture()
Release camera hardware resources.
CameraCapture & operator=(const CameraCapture &)=delete
std::string backendImplementation() const
Return active backend implementation family.
CameraCapture(CameraCapture &&)=delete
Construction options for camera capture.
float focus_position
Focus request: -1.0 autofocus, 0.0 closest, 1.0 farthest.
int camera_index
Camera index passed to backend.
BackendPreference backend_preference
Requested backend policy.
Single captured frame and its timing metadata.
long long timestamp_ms
Epoch-style timestamp for log compatibility.
cv::Mat image_data
Captured image.
std::chrono::steady_clock::time_point capture_timestamp
Monotonic capture time.