1. New calibration module: Intrinsic and extrinsic camera calibration toolbox based on OpenCV.
1. New calibration module: Intrinsic and extrinsic camera calibration toolbox based on OpenCV.
2. Flir cameras: Added software trigger and a dedicated thread to keep reading images so latency is removed and runtime is faster (analogously to webcamReader).
2. Improvements involving Flir cameras:
3. Flir cameras: Undistortion of the images is x3.5 faster per camera, i.e., x3.5 Flir camera producer reading (it was multi-threaded).
1. Added software trigger and a dedicated thread to keep reading images so latency is removed and runtime is faster (analogously to webcamReader).
4. Flir cameras: Added flag `flir_camera_index` to allow running on all the cameras at once, or only on 1 camera at the time.
2. Undistortion of the images is x3.5 faster per camera, i.e., x3.5 Flir camera producer reading w.r.t previous multi-threaded version, which was x number_cameras faster than the original version.
5. Flir cameras: Added flag `frame_keep_distortion` not to undistort the images. E.g., useful when recording images for camera calibration.
3. Added flag `flir_camera_index` to allow running on all the cameras at once, or only on 1 camera at the time.
6. 3-D reconstruction: Added non-linear minimization to further improve 3-D triangulation accuracy by ~5% (Ubuntu only).
4. Added flag `frame_keep_distortion` not to undistort the images. E.g., useful when recording images for camera calibration.
7. CMake: All libraries as single variable (simpler to add/remove libraries).
5. Changed Spinnaker::DEFAULT image extraction mode by Spinnaker::IPP, which does not show a pixelated image while keeping very similar runtime.
8. Datum includes extrinsic and intrinsic camera parameters.
3. 3-D reconstruction: Added non-linear minimization to further improve 3-D triangulation accuracy by ~5% (Ubuntu only).
9. Function `scaleKeypoints(Array<float>& keypoints, const float scale)` also accepts 3D keypoints.
4. CMake: All libraries as single variable (simpler to add/remove libraries).
10. 3D keypoints and camera parameters in meters (instead of millimeters) in order to reduce numerical errors.
5. Datum includes extrinsic and intrinsic camera parameters.
11. New `PoseExtractor` class to contain future ID and tracking algorithms as well as the current OpenPose keypoint detection algorithm.
6. Function `scaleKeypoints(Array<float>& keypoints, const float scale)` also accepts 3D keypoints.
12. Added initial alpha versions of the `tracking` and `identification` modules (for now disabled but available in the source code), including `PersonIdExtractor` and `PersonTracker`. `PersonIdExtractor` includes greedy matrix OP-LK matching.
7. 3D keypoints and camera parameters in meters (instead of millimeters) in order to reduce numerical errors.
13. Added catchs to all demos for higher debug information.
8. New `PoseExtractor` class to contain future ID and tracking algorithms as well as the current OpenPose keypoint detection algorithm.
9. Added initial alpha versions of the `tracking` and `identification` modules (for now disabled but available in the source code), including `PersonIdExtractor` and `PersonTracker`. `PersonIdExtractor` includes greedy matrix OP-LK matching.
10. Added catchs to all demos for higher debug information.
2. Functions or parameters renamed:
2. Functions or parameters renamed:
1. Removed scale parameter from hand and face rectangle extractor (causing wrong results if custom `--output_resolution`).
1. Removed scale parameter from hand and face rectangle extractor (causing wrong results if custom `--output_resolution`).
2. Functions `scaleKeypoints`, other than `scaleKeypoints(Array<float>& keypoints, const float scale)`, renamed as `scaleKeypoints2d`.
2. Functions `scaleKeypoints`, other than `scaleKeypoints(Array<float>& keypoints, const float scale)`, renamed as `scaleKeypoints2d`.