Home
Vision module

MotionDetector

MotionDetector

#include <icy/vision/motiondetector.h>

Inherits: Detector

Public Methods

ReturnNameDescription
MotionDetector explicit
voidsetConfig
MotionDetectorConfigconfig const
MotionDetectorStatsstats const
voidreset virtual
voidprocess virtual

MotionDetector

explicit

explicit MotionDetector(MotionDetectorConfig config)

setConfig

void setConfig(MotionDetectorConfig config)

config

const

MotionDetectorConfig config() const

stats

const

MotionDetectorStats stats() const

reset

virtual

virtual void reset()

process

virtual

virtual void process(const VisionFramePacket & packet)

Private Attributes

ReturnNameDescription
MotionDetectorConfig_config
uint64_t_seen
uint64_t_emitted
uint32_t_warmedFrames
int_width
int_height
int64_t_lastEventTimeUsec
float_lastScore
std::vector< uint8_t >_previousGrid
std::vector< uint8_t >_currentGrid

_config

MotionDetectorConfig _config

_seen

uint64_t _seen = 0

_emitted

uint64_t _emitted = 0

_warmedFrames

uint32_t _warmedFrames = 0

_width

int _width = 0

_height

int _height = 0

_lastEventTimeUsec

int64_t _lastEventTimeUsec = 0

_lastScore

float _lastScore = 0.0f

_previousGrid

std::vector< uint8_t > _previousGrid

_currentGrid

std::vector< uint8_t > _currentGrid

Private Methods

ReturnNameDescription
voidsampleLumaGrid const
floatdiffScore const
voidemitEvent

sampleLumaGrid

const

void sampleLumaGrid(const VisionFramePacket & packet, std::vector< uint8_t > & out) const

diffScore

const

float diffScore(const std::vector< uint8_t > & current) const

emitEvent

void emitEvent(const VisionFramePacket & packet, float score)

Private Static Methods

ReturnNameDescription
MotionDetectorConfigsanitize static

sanitize

static

static MotionDetectorConfig sanitize(MotionDetectorConfig config)