Added new base class TrackedObjectBase, changed class KeyframeBBox to TrackedObjectBBox and changes it's inheritance from KeyframeBase to TrackedObjectBase.
- To prevent slow compiles of unit tests, replace all of the
'#include "OpenShot.h"' invocations with includes of the
individual headers actually needed by each test file.
- To prevent slow compiles of unit tests, replace all of the
'#include "OpenShot.h"' invocations with includes of the
individual headers actually needed by each test file.
Revert "Unit tests: Don't use OpenShot.h header"
This reverts commit e5cc4f8bf91fc60697996023a86dc618637f6161.
Unit tests: Don't use OpenShot.h header
- To prevent slow compiles of unit tests, replace all of the
'#include "OpenShot.h"' invocations with includes of the
individual headers actually needed by each test file.
- Added KeyframeBase class
- Adjusted the inheritance of KeyframeBase to KeyframeBBox and Keyframe
- Added feature to attach clip to bounding box
- Added support to select tracked object with a dropdown list and removed keyframebbox downcasting
Changed the bounding-box struct point convention to (cx, cy, width, height, angle).
The GetFrame member function from Tracker class now uses the cv::RotatedRect object to represent the bounding-box and draw it on screen.
The JSON and Protobuf communication between the backend and frontend still uses the (x1,y1)(x2,y2) point convention, the backend performs the adequate transformations.
-Moved the methods that handles protobuf data from Tracker to KeyframeBBox
-Displacement and scale keyframes are now properties of KeyframeBBox
-Changed interface that updates the KeyframeBBox properties.
It's now possible to adjust the tracked bounding box from the preview window. Some work is needed to make it generic to the ObjectDetection effect and future effects
This new test makes sure that a large segment is handled correctly and
also with reasonable performance. The timeout of 10ms is still
relatively slow (on a mid-class laptop it takes 0.001ms currently) but
the test shouldn't fail when e.g. the build machine is under (mild to
heavy) load.