You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**ObjectDetector** C++ library provides standard interface, but also defines data structures and rules for different object detectors (motion detectors, events detectors, neural networks etc.). **ObjectDetector** interface class does not do anything, just provides interface, defines data structures and provides methods to encode/decode commands and encode/decode (serialize/deserialize) parameters. Different object detector classes inherit interface form **ObjectDetector** C++ class. **ObjectDetector.h** file contains [ObjectDetectorCommand](#objectdetectorcommand-enum) enum (provides enum of action commands), [ObjectDetectorParam](#objectdetectorparam-enum) enum (provides enum of params), [ObjectDetectorParams](#objectdetectorparams-class-description) class (contains list of params) and includes [ObjectDetector](#objectdetector-class-declaration) class declaration. All object detectors should include params and commands listed in **ObjectDetector.h** file. **ObjectDetector**class depends on two external libraries (included as submodules): [Frame](https://github.com/ConstantRobotics-Ltd/Frame) (video frame data structure, source code included, Apache 2.0 license) and [ConfigReader](https://github.com/ConstantRobotics-Ltd/ConfigReader) (provides methods to read/write JSON config files, source code included, Apache 2.0 license). It uses C++17 standard. The library is licensed under the **Apache 2.0** license.
47
+
**ObjectDetector** C++ library provides standard interface as well defines data structures and rules for different object detectors (motion detectors, events detectors, neural networks etc.). **ObjectDetector** interface class does not do anything, just provides interface, defines data structures and provides methods to encode/decode commands and encode/decode (serialize/deserialize) parameters. Different object detector classes inherit interface form **ObjectDetector** C++ class. **ObjectDetector.h** file contains [ObjectDetectorCommand](#objectdetectorcommand-enum) enum (provides enum of action commands), [ObjectDetectorParam](#objectdetectorparam-enum) enum (provides enum of params), [ObjectDetectorParams](#objectdetectorparams-class-description) class (contains list of params) and includes [ObjectDetector](#objectdetector-class-declaration) class declaration. All object detectors should include params and commands listed in **ObjectDetector.h** file. **ObjectDetector** class depends on two external libraries (included as submodules): [Frame](https://rapidpixel.constantrobotics.com/docs/service-libraries/frame.html) (video frame data structure, source code included, Apache 2.0 license) and [ConfigReader](https://rapidpixel.constantrobotics.com/docs/service-libraries/config-reader.html) (provides methods to read/write JSON config files, source code included, Apache 2.0 license). It uses C++17 standard. The library is licensed under the **Apache 2.0** license.
| 1.7.0 | 08.01.2024 | - List of objects class names added to ObjectDetectorParams.<br />- Data structures updated.<br />- Added automatic linux build check based on GitHub Actions. |
67
67
| 1.7.1 | 25.03.2024 | - Frame class updated.<br />- ConfigReader class updated.<br />- Documentation updated. |
68
+
| 1.7.2 | 20.05.2024 | - Frame class updated.<br />- ConfigReader class updated.<br />- Documentation updated. |
68
69
69
70
70
71
@@ -73,26 +74,26 @@
73
74
The **ObjectDetector** library is a CMake project. Library files:
74
75
75
76
```xml
76
-
CMakeLists.txt ----------------------- Main CMake file of the library.
77
-
3rdparty ----------------------------- Folder with third-party libraries.
78
-
CMakeLists.txt ------------------- CMake file to include third-party libraries.
79
-
ConfigReader --------------------- Source code of the ConfigReader library.
80
-
Frame ---------------------------- Source code of the Frame library.
81
-
example ------------------------------ Folder with custom (example) object detector class.
82
-
CMakeLists.txt ------------------- CMake file for custom object detector class.
83
-
CustomObjectDetector.cpp --------- C++ implementation file.
84
-
CustomObjectDetector.h ----------- Header with class declaration.
85
-
CustomObjectDetectorVersion.h ---- Header file which includes class version.
86
-
CustomObjectDetectorVersion.h.in - CMake service file to generate version file.
87
-
test --------------------------------- Folder with test of data structures.
88
-
CMakeLists.txt ------------------- CMake file for test application.
89
-
main.cpp ------------------------- Source code file of test application.
90
-
src ---------------------------------- Folder with source code of the library.
91
-
CMakeLists.txt ------------------- CMake file of the library.
92
-
ObjectDetector.cpp --------------- C++ implementation file.
93
-
ObjectDetector.h ----------------- Header file with class declaration.
94
-
ObjectDetectorVersion.h ---------- Header file with class version.
95
-
ObjectDetectorVersion.h.in ------- CMake service file to generate version file.
77
+
CMakeLists.txt ------------------------ Main CMake file of the library.
78
+
3rdparty ------------------------------ Folder with third-party libraries.
79
+
CMakeLists.txt -------------------- CMake file to include third-party libraries.
| frame | Video frame for processing. Object detector processes only RAW pixel formats (BGR24, RGB24, GRAY, YUYV24, YUYV, UYVY, NV12, NV21, YV12, YU12, see [Frame](https://github.com/ConstantRobotics-Ltd/Frame) class description). Required pixel format depends on implementation. It is recommended to support all possible RAW pixel formats supported by [Frame](https://github.com/ConstantRobotics-Ltd/Frame) object. |
288
+
| frame | Video frame for processing. Object detector processes only RAW pixel formats (BGR24, RGB24, GRAY, YUYV24, YUYV, UYVY, NV12, NV21, YV12, YU12, see [Frame](https://rapidpixel.constantrobotics.com/docs/service-libraries/frame.html) class description). Required pixel format depends on implementation. It is recommended to support all possible RAW pixel formats supported by [Frame](https://rapidpixel.constantrobotics.com/docs/service-libraries/frame.html) object. |
288
289
289
290
**Returns:** TRUE if the video frame was processed or FALSE if not. If object detector disabled (see [ObjectDetectorParam](#objectdetectorparam-enum) enum description) the method should return TRUE.
| mask | Detection mask is see [Frame](https://github.com/ConstantRobotics-Ltd/Frame) object with GRAY pixel format. Detector omits image segments, where detection mask pixel values equal 0. |
304
+
| mask | Detection mask is see [Frame](https://rapidpixel.constantrobotics.com/docs/service-libraries/frame.html) object with GRAY pixel format. Detector omits image segments, where detection mask pixel values equal 0. |
304
305
305
306
**Returns:** TRUE if the detection mask was set or FALSE if not.
306
307
@@ -588,7 +589,7 @@ struct Object
588
589
589
590
## ObjectDetectorParams class declaration
590
591
591
-
**ObjectDetectorParams** class used for object detector initialization (**initObjectDetector(...)** method) or to get all actual params (**getParams()** method). Also **ObjectDetectorParams** provides structure to write/read params from JSON files (**JSON_READABLE** macro, see [**ConfigReader**](https://github.com/ConstantRobotics-Ltd/ConfigReader) class description) and provide methods to encode (serialize) and decode (deserialize) params. Class declaration:
592
+
**ObjectDetectorParams** class used for object detector initialization (**initObjectDetector(...)** method) or to get all actual params (**getParams()** method). Also **ObjectDetectorParams** provides structure to write/read params from JSON files (**JSON_READABLE** macro, see [ConfigReader](https://rapidpixel.constantrobotics.com/docs/service-libraries/config-reader.html) class description) and provide methods to encode (serialize) and decode (deserialize) params. Class declaration:
0 commit comments