You've already forked libopenshot
mirror of
https://github.com/OpenShot/libopenshot.git
synced 2026-03-02 08:53:52 -08:00
improved the stabilize effect integration
This commit is contained in:
@@ -3,16 +3,19 @@
|
||||
// Constructor responsible to choose processing type and apply to clip
|
||||
ClipProcessingJobs::ClipProcessingJobs(std::string processingType, Clip& videoClip){
|
||||
|
||||
if(processingType == "Stabilize"){
|
||||
stabilizeVideo(videoClip);
|
||||
}
|
||||
if(processingType == "Track")
|
||||
trackVideo(videoClip);
|
||||
// if(processingType == "Stabilize"){
|
||||
// std::cout<<"Stabilize";
|
||||
// stabilizeVideo(videoClip);
|
||||
// }
|
||||
// if(processingType == "Track"){
|
||||
// std::cout<<"Track";
|
||||
// trackVideo(videoClip);
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
// Apply object tracking to clip
|
||||
void ClipProcessingJobs::trackVideo(Clip& videoClip){
|
||||
std::string ClipProcessingJobs::trackVideo(Clip& videoClip){
|
||||
|
||||
// Opencv display window
|
||||
cv::namedWindow("Display Image", cv::WINDOW_NORMAL );
|
||||
@@ -23,28 +26,32 @@ void ClipProcessingJobs::trackVideo(Clip& videoClip){
|
||||
tracker.trackClip(videoClip);
|
||||
|
||||
// Save tracking data
|
||||
tracker.SaveTrackedData("kcf_tracker.data");
|
||||
tracker.SaveTrackedData("/media/brenno/Data/projects/openshot/kcf_tracker.data");
|
||||
|
||||
// Create new Tracker Effect
|
||||
EffectBase* trackerEffect = new Tracker("kcf_tracker.data");
|
||||
// Apply Tracker Effect to clip
|
||||
videoClip.AddEffect(trackerEffect);
|
||||
// Return path to protobuf saved data
|
||||
return "/media/brenno/Data/projects/openshot/kcf_tracker.data";
|
||||
}
|
||||
|
||||
// Apply stabilization to clip
|
||||
void ClipProcessingJobs::stabilizeVideo(Clip& videoClip){
|
||||
std::string ClipProcessingJobs::stabilizeVideo(Clip& videoClip){
|
||||
// create CVStabilization object
|
||||
CVStabilization stabilizer;
|
||||
// Start stabilization process
|
||||
stabilizer.ProcessClip(videoClip);
|
||||
|
||||
// Save stabilization data
|
||||
stabilizer.SaveStabilizedData("stabilization.data");
|
||||
stabilizer.SaveStabilizedData("/media/brenno/Data/projects/openshot/stabilization.data");
|
||||
|
||||
// Create new Stabilizer Effect
|
||||
EffectBase* stabilizeEffect = new Stabilizer("stabilization.data");
|
||||
// Apply Stabilizer Effect to clip
|
||||
videoClip.AddEffect(stabilizeEffect);
|
||||
// Return path to protobuf saved data
|
||||
return "/media/brenno/Data/projects/openshot/stabilization.data";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
int ClipProcessingJobs::GetProgress(){
|
||||
return processingProgress;
|
||||
}
|
||||
|
||||
|
||||
void ClipProcessingJobs::CancelProcessing(){
|
||||
stopProcessing = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user