Vision module
vision
Video analysis for decoded frames: sampling, normalising and detecting, with results reported as vision events.
Classes
| Name | Description |
|---|---|
DetectionQueue | Async queue for normalized detector-ready frames. |
Detector | Base interface for detectors that consume normalized vision frames. |
FrameNormalizer | Converts sampled decoded video into owned detector-ready frames. |
FrameSampler | PacketProcessor that forwards a sampled subset of decoded video frames. |
MotionDetector | Detects motion by comparing each frame with the previous one on a coarse grid, and emits a detect event when the change reaches the threshold. |
VisionEventEmitter | Emits vision events to the listeners on its Event signal. |
Detection | Something a detector found in one frame: its label, confidence and region, and the track it belongs to when one is known. |
FrameNormalizerConfig | The frames a FrameNormalizer produces: their source and stream IDs, size and pixel format. A zero size or empty format keeps the decoded frame's own. |
FrameNormalizerStats | Counts of frames seen, emitted, dropped and converted. |
FrameSamplerConfig | Which frames a FrameSampler forwards: every Nth frame, and no two closer together than the minimum interval. |
FrameSamplerStats | Counts of frames seen, forwarded and dropped. |
MotionDetectorConfig | Settings for a MotionDetector: the grid each frame is reduced to, the frames it learns from before reporting, the change that counts as motion, and the least time between events. |
MotionDetectorStats | Counts of frames seen and events emitted, and the last motion score. |
Region | A rectangle within a frame, in coordinates normalised from 0 to 1. |
Track | An object followed across frames: its track ID, label, confidence and region. |
VisionEvent | A detector's report on one frame, with its detections and tracks, in the vision.event.v1 schema. |
VisionFrameContext | The frame a result refers to: its source and stream, frame ID, timing, size, pixel format and whether it is a keyframe. |
VisionFramePacket | Owned detector-ready frame buffer carrying stable frame metadata. |
Typedefs
| Return | Name | Description |
|---|---|---|
Signal< void(const VisionEvent &)> | VisionEventSignal | |
VisionFrameContext | FrameRef |
VisionEventSignal
using VisionEventSignal = Signal< void(const VisionEvent &)>Type: Signal< void(const VisionEvent &)>
Defined in src/vision/include/icy/vision/eventemitter.h:26
FrameRef
using FrameRef = VisionFrameContextType: VisionFrameContext
Defined in src/vision/include/icy/vision/types.h:44
Functions
makeVisionFrameContext
Vision_APIVisionFrameContext makeVisionFrameContext(const av::PlanarVideoPacket & packet, uint64_t frameId = 0, const std::string & sourceId = {}, const std::string & streamId = {}, int64_t receivedAtUsec = 0)Defined in src/vision/include/icy/vision/event.h:46
makeFrameRef
inline
inline FrameRef makeFrameRef(const av::PlanarVideoPacket & packet, uint64_t sequence = 0, const std::string & sourceId = {}, const std::string & streamId = {}, int64_t receivedAtUsec = 0)Defined in src/vision/include/icy/vision/event.h:52
toJson
Vision_APIjson::Value toJson(const Region & region)Defined in src/vision/include/icy/vision/event.h:60
toJson
Vision_APIjson::Value toJson(const VisionFrameContext & frame)Defined in src/vision/include/icy/vision/event.h:61
toJson
Vision_APIjson::Value toJson(const Detection & detection)Defined in src/vision/include/icy/vision/event.h:62
toJson
Vision_APIjson::Value toJson(const Track & track)Defined in src/vision/include/icy/vision/event.h:63
toJson
Vision_APIjson::Value toJson(const VisionEvent & event)