|
OpenShot Library | libopenshot
0.4.0
|
This class contains the properties of a tracked object and functions to manipulate it. More...
#include <TrackedObjectBBox.h>
Public Member Functions | |
| Json::Value | add_property_json (std::string name, float value, std::string type, std::string memo, const Keyframe *keyframe, float min_value, float max_value, bool readonly, int64_t requested_frame) const |
| void | AddBox (int64_t _frame_num, float _cx, float _cy, float _width, float _height, float _angle) override |
| Add a BBox to the BoxVec map. More... | |
| void | clear () |
| Clear the BoxVec map. More... | |
| bool | Contains (int64_t frame_number) const |
| Check if there is a bounding-box in the given frame. More... | |
| bool | ExactlyContains (int64_t frame_number) const override |
| Check if there is a bounding-box in the exact frame number. More... | |
| double | FrameNToTime (int64_t frame_number, double time_scale) const |
| Get the time of the given frame. More... | |
| Fraction | GetBaseFPS () |
| Return the object's BaseFps. More... | |
| BBox | GetBox (int64_t frame_number) |
| Return a bounding-box from BoxVec with it's properties adjusted by the Keyframes. More... | |
| BBox | GetBox (int64_t frame_number) const |
| Const-cast of the GetBox function, so that it can be called inside other cont function. More... | |
| std::map< std::string, float > | GetBoxValues (int64_t frame_number) const override |
| Return a map that contains the bounding box properties and it's keyframes indexed by their names. More... | |
| int64_t | GetLength () const |
| Get the size of BoxVec map. More... | |
| BBox | InterpolateBoxes (double t1, double t2, BBox left, BBox right, double target) |
| Interpolate the bouding-boxes properties. More... | |
| std::string | Json () const override |
| Get and Set JSON methods. More... | |
| Json::Value | JsonValue () const override |
| Generate Json::Value for this object. More... | |
| bool | LoadBoxData (std::string inputFilePath) |
| Load the bounding-boxes information from the protobuf file. More... | |
| Json::Value | PropertiesJSON (int64_t requested_frame) const override |
| void | RemoveBox (int64_t frame_number) |
| Remove a bounding-box from the BoxVec map. More... | |
| void | ScalePoints (double scale) override |
| Update the TimeScale member variable. More... | |
| void | SetBaseFPS (Fraction fps) |
| Update object's BaseFps. More... | |
| void | SetJson (const std::string value) override |
| Load JSON string into this object. More... | |
| void | SetJsonValue (const Json::Value root) override |
| Load Json::Value into this object. More... | |
| TrackedObjectBBox () | |
| Default Constructor. More... | |
| TrackedObjectBBox (int Red, int Green, int Blue, int Alfa) | |
Public Member Functions inherited from openshot::TrackedObjectBase | |
| Json::Value | add_property_choice_json (std::string name, int value, int selected_value) const |
| Generate JSON choice for a property (dropdown properties) More... | |
| std::string | Id () const |
| Get the id of this object. More... | |
| void | Id (std::string _id) |
| Set the id of this object. More... | |
| ClipBase * | ParentClip () const |
| Get and set the parentClip of this object. More... | |
| void | ParentClip (ClipBase *clip) |
| TrackedObjectBase () | |
| Default constructor. More... | |
| TrackedObjectBase (std::string _id) | |
| Constructor which takes an object ID. More... | |
| virtual | ~TrackedObjectBase ()=default |
| Destructor. More... | |
Public Attributes | |
| Color | background |
| Background fill color. More... | |
| Keyframe | background_alpha |
| Background box opacity. More... | |
| Keyframe | background_corner |
| Radius of rounded corners. More... | |
| std::map< double, BBox > | BoxVec |
| Index the bounding-box by time of each frame. More... | |
| Keyframe | delta_x |
| X-direction displacement Keyframe. More... | |
| Keyframe | delta_y |
| Y-direction displacement Keyframe. More... | |
| std::string | protobufDataPath |
| Path to the protobuf file that holds the bounding box points across the frames. More... | |
| Keyframe | rotation |
| Rotation Keyframe. More... | |
| Keyframe | scale_x |
| X-direction scale Keyframe. More... | |
| Keyframe | scale_y |
| Y-direction scale Keyframe. More... | |
| Color | stroke |
| Border line color. More... | |
| Keyframe | stroke_alpha |
| Stroke box opacity. More... | |
| Keyframe | stroke_width |
| Thickness of border line. More... | |
Public Attributes inherited from openshot::TrackedObjectBase | |
| Keyframe | draw_box |
| Keyframe to determine if a specific box is drawn (or hidden) More... | |
| Keyframe | visible |
| Keyframe to track if a box is visible in the current frame (read-only) More... | |
Additional Inherited Members | |
Protected Attributes inherited from openshot::TrackedObjectBase | |
| std::string | id |
| ClipBase * | parentClip |
This class contains the properties of a tracked object and functions to manipulate it.
The bounding-box displacement in X and Y directions, it's width, height and rotation variation over the frames are set as openshot::Keyframe objects.
The bounding-box information over the clip's frames are saved into a protobuf file and loaded into an object of this class.
Definition at line 130 of file TrackedObjectBBox.h.
| TrackedObjectBBox::TrackedObjectBBox | ( | ) |
Default Constructor.
Definition at line 28 of file TrackedObjectBBox.cpp.
| TrackedObjectBBox::TrackedObjectBBox | ( | int | Red, |
| int | Green, | ||
| int | Blue, | ||
| int | Alfa | ||
| ) |
Definition at line 33 of file TrackedObjectBBox.cpp.
| Json::Value TrackedObjectBBox::add_property_json | ( | std::string | name, |
| float | value, | ||
| std::string | type, | ||
| std::string | memo, | ||
| const Keyframe * | keyframe, | ||
| float | min_value, | ||
| float | max_value, | ||
| bool | readonly, | ||
| int64_t | requested_frame | ||
| ) | const |
Definition at line 461 of file TrackedObjectBBox.cpp.
Referenced by PropertiesJSON().
|
overridevirtual |
Add a BBox to the BoxVec map.
Reimplemented from openshot::TrackedObjectBase.
Definition at line 45 of file TrackedObjectBBox.cpp.
Referenced by LoadBoxData(), and openshot::ObjectDetection::LoadObjDetectdData().
| void TrackedObjectBBox::clear | ( | ) |
Clear the BoxVec map.
Definition at line 294 of file TrackedObjectBBox.cpp.
Referenced by LoadBoxData().
| bool TrackedObjectBBox::Contains | ( | int64_t | frame_number | ) | const |
Check if there is a bounding-box in the given frame.
Definition at line 82 of file TrackedObjectBBox.cpp.
|
overridevirtual |
Check if there is a bounding-box in the exact frame number.
Reimplemented from openshot::TrackedObjectBase.
Definition at line 96 of file TrackedObjectBBox.cpp.
| double TrackedObjectBBox::FrameNToTime | ( | int64_t | frame_number, |
| double | time_scale | ||
| ) | const |
Get the time of the given frame.
Definition at line 223 of file TrackedObjectBBox.cpp.
Referenced by AddBox(), Contains(), ExactlyContains(), GetBox(), and RemoveBox().
| Fraction TrackedObjectBBox::GetBaseFPS | ( | ) |
Return the object's BaseFps.
Definition at line 218 of file TrackedObjectBBox.cpp.
| BBox TrackedObjectBBox::GetBox | ( | int64_t | frame_number | ) |
Return a bounding-box from BoxVec with it's properties adjusted by the Keyframes.
Definition at line 125 of file TrackedObjectBBox.cpp.
Referenced by GetBox(), GetBoxValues(), and PropertiesJSON().
|
inline |
Const-cast of the GetBox function, so that it can be called inside other cont function.
Definition at line 182 of file TrackedObjectBBox.h.
|
overridevirtual |
Return a map that contains the bounding box properties and it's keyframes indexed by their names.
Reimplemented from openshot::TrackedObjectBase.
Definition at line 498 of file TrackedObjectBBox.cpp.
| int64_t TrackedObjectBBox::GetLength | ( | ) | const |
Get the size of BoxVec map.
Definition at line 72 of file TrackedObjectBBox.cpp.
| BBox TrackedObjectBBox::InterpolateBoxes | ( | double | t1, |
| double | t2, | ||
| BBox | left, | ||
| BBox | right, | ||
| double | target | ||
| ) |
Interpolate the bouding-boxes properties.
Definition at line 178 of file TrackedObjectBBox.cpp.
Referenced by GetBox().
|
overridevirtual |
Get and Set JSON methods.
Generate JSON string of this object
Implements openshot::TrackedObjectBase.
Definition at line 300 of file TrackedObjectBBox.cpp.
|
overridevirtual |
Generate Json::Value for this object.
Implements openshot::TrackedObjectBase.
Definition at line 307 of file TrackedObjectBBox.cpp.
Referenced by Json().
| bool TrackedObjectBBox::LoadBoxData | ( | std::string | inputFilePath | ) |
Load the bounding-boxes information from the protobuf file.
Definition at line 235 of file TrackedObjectBBox.cpp.
|
overridevirtual |
Get all properties for a specific frame (perfect for a UI to display the current state of all properties at any time)
Implements openshot::TrackedObjectBase.
Definition at line 413 of file TrackedObjectBBox.cpp.
| void TrackedObjectBBox::RemoveBox | ( | int64_t | frame_number | ) |
Remove a bounding-box from the BoxVec map.
Definition at line 110 of file TrackedObjectBBox.cpp.
|
overridevirtual |
Update the TimeScale member variable.
Reimplemented from openshot::TrackedObjectBase.
Definition at line 230 of file TrackedObjectBBox.cpp.
Referenced by SetJsonValue().
| void TrackedObjectBBox::SetBaseFPS | ( | Fraction | fps | ) |
Update object's BaseFps.
Definition at line 212 of file TrackedObjectBBox.cpp.
|
overridevirtual |
Load JSON string into this object.
Implements openshot::TrackedObjectBase.
Definition at line 338 of file TrackedObjectBBox.cpp.
|
overridevirtual |
Load Json::Value into this object.
Implements openshot::TrackedObjectBase.
Definition at line 356 of file TrackedObjectBBox.cpp.
Referenced by SetJson().
| Color openshot::TrackedObjectBBox::background |
Background fill color.
Definition at line 148 of file TrackedObjectBBox.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::TrackedObjectBBox::background_alpha |
Background box opacity.
Definition at line 143 of file TrackedObjectBBox.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::TrackedObjectBBox::background_corner |
Radius of rounded corners.
Definition at line 144 of file TrackedObjectBBox.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
| std::map<double, BBox> openshot::TrackedObjectBBox::BoxVec |
Index the bounding-box by time of each frame.
Definition at line 137 of file TrackedObjectBBox.h.
Referenced by AddBox(), clear(), Contains(), ExactlyContains(), GetBox(), GetLength(), and RemoveBox().
| Keyframe openshot::TrackedObjectBBox::delta_x |
X-direction displacement Keyframe.
Definition at line 138 of file TrackedObjectBBox.h.
Referenced by GetBox(), GetBoxValues(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::TrackedObjectBBox::delta_y |
Y-direction displacement Keyframe.
Definition at line 139 of file TrackedObjectBBox.h.
Referenced by GetBox(), GetBoxValues(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| std::string openshot::TrackedObjectBBox::protobufDataPath |
Path to the protobuf file that holds the bounding box points across the frames.
Definition at line 150 of file TrackedObjectBBox.h.
Referenced by SetJsonValue().
| Keyframe openshot::TrackedObjectBBox::rotation |
Rotation Keyframe.
Definition at line 142 of file TrackedObjectBBox.h.
Referenced by GetBox(), GetBoxValues(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::TrackedObjectBBox::scale_x |
X-direction scale Keyframe.
Definition at line 140 of file TrackedObjectBBox.h.
Referenced by GetBox(), GetBoxValues(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::TrackedObjectBBox::scale_y |
Y-direction scale Keyframe.
Definition at line 141 of file TrackedObjectBBox.h.
Referenced by GetBox(), GetBoxValues(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Color openshot::TrackedObjectBBox::stroke |
Border line color.
Definition at line 147 of file TrackedObjectBBox.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::TrackedObjectBBox::stroke_alpha |
Stroke box opacity.
Definition at line 146 of file TrackedObjectBBox.h.
Referenced by JsonValue(), openshot::ObjectDetection::LoadObjDetectdData(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::TrackedObjectBBox::stroke_width |
Thickness of border line.
Definition at line 145 of file TrackedObjectBBox.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
1.8.17