Vision module

vision

Video analysis for decoded frames: sampling, normalising and detecting, with results reported as vision events.

Classes

NameDescription
DetectionQueueAsync queue for normalized detector-ready frames.
DetectorBase interface for detectors that consume normalized vision frames.
FrameNormalizerConverts sampled decoded video into owned detector-ready frames.
FrameSamplerPacketProcessor that forwards a sampled subset of decoded video frames.
MotionDetectorDetects motion by comparing each frame with the previous one on a coarse grid, and emits a detect event when the change reaches the threshold.
VisionEventEmitterEmits vision events to the listeners on its Event signal.
DetectionSomething a detector found in one frame: its label, confidence and region, and the track it belongs to when one is known.
FrameNormalizerConfigThe 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.
FrameNormalizerStatsCounts of frames seen, emitted, dropped and converted.
FrameSamplerConfigWhich frames a FrameSampler forwards: every Nth frame, and no two closer together than the minimum interval.
FrameSamplerStatsCounts of frames seen, forwarded and dropped.
MotionDetectorConfigSettings 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.
MotionDetectorStatsCounts of frames seen and events emitted, and the last motion score.
RegionA rectangle within a frame, in coordinates normalised from 0 to 1.
TrackAn object followed across frames: its track ID, label, confidence and region.
VisionEventA detector's report on one frame, with its detections and tracks, in the vision.event.v1 schema.
VisionFrameContextThe frame a result refers to: its source and stream, frame ID, timing, size, pixel format and whether it is a keyframe.
VisionFramePacketOwned detector-ready frame buffer carrying stable frame metadata.

Typedefs


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 = VisionFrameContext

Type: 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)

Defined in src/vision/include/icy/vision/event.h:64