OpenShot Library | libopenshot  0.2.7
Public Member Functions | Public Attributes | List of all members
CVStabilization Class Reference

This class stabilizes a video frame using optical flow. More...

#include <CVStabilization.h>

Public Member Functions

bool _LoadStabilizedData ()
 
void AddFrameDataToProto (pb_stabilize::Frame *pbFrameData, CamTrajectory &trajData, TransformParam &transData, size_t frame_number)
 Add frame stabilization data into protobuf message. More...
 
 CVStabilization (std::string processInfoJson, ProcessingController &processingController)
 Set default smoothing window value to compute stabilization. More...
 
CamTrajectory GetCamTrajectoryTrackedData (size_t frameId)
 
TransformParam GetTransformParamData (size_t frameId)
 
bool SaveStabilizedData ()
 
void SetJson (const std::string value)
 Load JSON string into this object. More...
 
void SetJsonValue (const Json::Value root)
 Load Json::Value into this object. More...
 
void stabilizeClip (openshot::Clip &video, size_t _start=0, size_t _end=0, bool process_interval=false)
 Process clip and store necessary stabilization data. More...
 

Public Attributes

std::map< size_t, CamTrajectorytrajectoryData
 
std::map< size_t, TransformParamtransformationData
 

Detailed Description

This class stabilizes a video frame using optical flow.

The relative motion between two consecutive frames is computed to obtain the global camera trajectory. The camera trajectory is then smoothed to reduce jittering.

Definition at line 84 of file CVStabilization.h.

Constructor & Destructor Documentation

◆ CVStabilization()

CVStabilization::CVStabilization ( std::string  processInfoJson,
ProcessingController processingController 
)

Set default smoothing window value to compute stabilization.

Definition at line 44 of file CVStabilization.cpp.

Member Function Documentation

◆ _LoadStabilizedData()

bool CVStabilization::_LoadStabilizedData ( )

Definition at line 389 of file CVStabilization.cpp.

◆ AddFrameDataToProto()

void CVStabilization::AddFrameDataToProto ( pb_stabilize::Frame *  pbFrameData,
CamTrajectory trajData,
TransformParam transData,
size_t  frame_number 
)

Add frame stabilization data into protobuf message.

Definition at line 313 of file CVStabilization.cpp.

Referenced by SaveStabilizedData().

◆ GetCamTrajectoryTrackedData()

CamTrajectory CVStabilization::GetCamTrajectoryTrackedData ( size_t  frameId)

Definition at line 341 of file CVStabilization.cpp.

◆ GetTransformParamData()

TransformParam CVStabilization::GetTransformParamData ( size_t  frameId)

Definition at line 329 of file CVStabilization.cpp.

◆ SaveStabilizedData()

bool CVStabilization::SaveStabilizedData ( )

Protobuf Save and Load methods Save stabilization data to protobuf file

Definition at line 283 of file CVStabilization.cpp.

Referenced by openshot::ClipProcessingJobs::processClip().

◆ SetJson()

void CVStabilization::SetJson ( const std::string  value)

Load JSON string into this object.

Definition at line 354 of file CVStabilization.cpp.

Referenced by CVStabilization().

◆ SetJsonValue()

void CVStabilization::SetJsonValue ( const Json::Value  root)

Load Json::Value into this object.

Definition at line 371 of file CVStabilization.cpp.

Referenced by SetJson().

◆ stabilizeClip()

void CVStabilization::stabilizeClip ( openshot::Clip video,
size_t  _start = 0,
size_t  _end = 0,
bool  process_interval = false 
)

Process clip and store necessary stabilization data.

Definition at line 52 of file CVStabilization.cpp.

Referenced by openshot::ClipProcessingJobs::processClip().

Member Data Documentation

◆ trajectoryData

std::map<size_t,CamTrajectory> CVStabilization::trajectoryData

◆ transformationData

std::map<size_t,TransformParam> CVStabilization::transformationData

The documentation for this class was generated from the following files: