Add optional original, annotated and JSON frame outputs

This commit is contained in:
zmv
2026-09-23 20:37:55 +08:00
parent 26c5bfb88d
commit c1e2ea6577
17 changed files with 297 additions and 93 deletions
+2
View File
@@ -1,12 +1,14 @@
#pragma once
#include "camera.hpp"
#include "frame_result.hpp"
#include "output_writer.hpp"
#include <filesystem>
#include <memory>
namespace cms {
struct PipelineConfig {
CameraConfig camera;
OutputOptions output;
std::filesystem::path engines,door_mask;
double detector_confidence{0.30};
int max_people{3};
+20
View File
@@ -0,0 +1,20 @@
#pragma once
#include "frame_result.hpp"
#include <filesystem>
#include <string>
namespace cms {
struct OutputOptions {
bool original{},annotated{},results{};
std::filesystem::path directory;
bool enabled() const {return original||annotated||results;}
};
// Called by the inference worker; one matching filename stem per completed frame.
class OutputWriter {
public:
explicit OutputWriter(OutputOptions options);
void write(FrameResult const& result);
private:
OutputOptions options_;
std::string runId_;
};
}
+4
View File
@@ -0,0 +1,4 @@
#pragma once
#include "frame_result.hpp"
#include "door_risk.hpp"
namespace cms { Json serializeResult(FrameResult const& result); }