Software motion detector is a software library RfMotionDetector lib, which implements an algorithm for automatically detecting moving objects on video. The library is able to work with images obtained by cameras of any spectral range. The algorithm implemented in the software library is equally effective in detecting both airborne and ground objects of low contrast against a complex background. The library allows you to set the parameters for detecting objects in accordance with the requirements of the observed situation for each video frame being processed. The source code of the software library is written in C++. One instance of the RfMotionDetector C++ class implements one video processing channel. To build multichannel systems (systems with multiple video sources), you need to create several instances of the RfMotionDetector lib class. The library includes the following files: RfMotionDetector.h (Declaring RfMotionDetector class), RfMotionDetector.lib (or *.o for Linux) (Library file), RfMotionDetectorDataStructures.h (Description of data structures and algorithm parameters).
- MAIN PARAMETERS
- High-speed operation. The processing time of a single video frame of 720x576 pixels for different platforms: intel i7-4720 (4 core) - 4 ms; intel atom e3950 (4 core) - 10 ms; intel i5-7200U (2 core) - 7 ms. The processing time of one frame depends on the observation conditions.
- Detection of moving objects from 4x4 pixels. The maximum sizes of objects to be detected are set by the user.
- Detection of objects of very low contrast (from 10%) on a complex background and under interference conditions.
- The ability to build both single-channel and multi-channel systems.
- Detection of any types of objects of any shape. Adaptability to changing shapes and sizes of objects.
- Easy integration. The ability to control the parameters of the algorithm in the process.
- TARGET PLATFORMS AND COMPATIBILITY
- The RfMotionDetector lib software library is written in C++ without the use of third-party software modules and functions dependent on the operating system or processor. Compatibility has been achieved with any operating systems that support C++ compilers (C++11 standard) and OpenMP parallelization technologies (1.0 standard). The library is compiled from source codes and can be used with any type of processor (x86, ARM, RISC-V, etc.).
- source code, technical documents