Add continuous TensorRT camera inference and ready-to-run Orin package

This commit is contained in:
zmv
2026-09-23 11:28:29 +08:00
commit 71723ef3b4
53 changed files with 27755 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
#pragma once
#include "image.hpp"
#include <atomic>
#include <memory>
#include <optional>
#include <string>
namespace cms {
struct CameraConfig {
std::string device{"/dev/video5"};
int width{1920},height{1536},fps{30},buffers{4},timeout_ms{2000};
};
struct CapturedFrame {
CaptureMetadata metadata;
std::shared_ptr<const BgrImage> image;
};
// The capture thread exclusively owns read(); requestStop() is thread safe.
class Camera {
public:
explicit Camera(CameraConfig config);
~Camera();
Camera(Camera const&)=delete;
Camera& operator=(Camera const&)=delete;
std::optional<CapturedFrame> read();
void requestStop() noexcept;
private:
struct Impl;
std::unique_ptr<Impl> impl_;
};
std::uint64_t monotonicNs();
}