2020-07-08 11:49:46 -03:00
|
|
|
#include "../include/ClipProcessingJobs.h"
|
|
|
|
|
|
2020-07-09 20:26:01 -03:00
|
|
|
// Constructor responsible to choose processing type and apply to clip
|
2020-07-08 11:49:46 -03:00
|
|
|
ClipProcessingJobs::ClipProcessingJobs(std::string processingType, Clip& videoClip){
|
|
|
|
|
|
2020-07-15 10:29:08 -03:00
|
|
|
// if(processingType == "Stabilize"){
|
|
|
|
|
// std::cout<<"Stabilize";
|
|
|
|
|
// stabilizeVideo(videoClip);
|
|
|
|
|
// }
|
|
|
|
|
// if(processingType == "Track"){
|
|
|
|
|
// std::cout<<"Track";
|
|
|
|
|
// trackVideo(videoClip);
|
|
|
|
|
// }
|
2020-07-08 11:49:46 -03:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-09 20:26:01 -03:00
|
|
|
// Apply object tracking to clip
|
2020-07-15 10:29:08 -03:00
|
|
|
std::string ClipProcessingJobs::trackVideo(Clip& videoClip){
|
2020-07-08 11:49:46 -03:00
|
|
|
|
|
|
|
|
// Opencv display window
|
|
|
|
|
cv::namedWindow("Display Image", cv::WINDOW_NORMAL );
|
|
|
|
|
|
2020-07-09 20:26:01 -03:00
|
|
|
// Create CVTracker object
|
|
|
|
|
CVTracker tracker;
|
|
|
|
|
// Start tracking
|
|
|
|
|
tracker.trackClip(videoClip);
|
|
|
|
|
|
|
|
|
|
// Save tracking data
|
2020-07-15 10:29:08 -03:00
|
|
|
tracker.SaveTrackedData("/media/brenno/Data/projects/openshot/kcf_tracker.data");
|
2020-07-08 11:49:46 -03:00
|
|
|
|
2020-07-15 10:29:08 -03:00
|
|
|
// Return path to protobuf saved data
|
|
|
|
|
return "/media/brenno/Data/projects/openshot/kcf_tracker.data";
|
2020-07-08 11:49:46 -03:00
|
|
|
}
|
|
|
|
|
|
2020-07-09 20:26:01 -03:00
|
|
|
// Apply stabilization to clip
|
2020-07-15 10:29:08 -03:00
|
|
|
std::string ClipProcessingJobs::stabilizeVideo(Clip& videoClip){
|
2020-07-08 11:49:46 -03:00
|
|
|
// create CVStabilization object
|
|
|
|
|
CVStabilization stabilizer;
|
2020-07-09 20:26:01 -03:00
|
|
|
// Start stabilization process
|
2020-07-08 22:31:26 -03:00
|
|
|
stabilizer.ProcessClip(videoClip);
|
2020-07-08 11:49:46 -03:00
|
|
|
|
2020-07-09 20:26:01 -03:00
|
|
|
// Save stabilization data
|
2020-07-15 10:29:08 -03:00
|
|
|
stabilizer.SaveStabilizedData("/media/brenno/Data/projects/openshot/stabilization.data");
|
2020-07-08 11:49:46 -03:00
|
|
|
|
2020-07-15 10:29:08 -03:00
|
|
|
// Return path to protobuf saved data
|
|
|
|
|
return "/media/brenno/Data/projects/openshot/stabilization.data";
|
|
|
|
|
}
|
2020-07-08 11:49:46 -03:00
|
|
|
|
|
|
|
|
|
2020-07-15 10:29:08 -03:00
|
|
|
int ClipProcessingJobs::GetProgress(){
|
|
|
|
|
return processingProgress;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ClipProcessingJobs::CancelProcessing(){
|
|
|
|
|
stopProcessing = true;
|
|
|
|
|
}
|