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){
|
|
|
|
|
|
|
|
|
|
if(processingType == "Stabilize"){
|
|
|
|
|
stabilizeVideo(videoClip);
|
|
|
|
|
}
|
|
|
|
|
if(processingType == "Track")
|
|
|
|
|
trackVideo(videoClip);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-09 20:26:01 -03:00
|
|
|
// Apply object tracking to clip
|
2020-07-08 11:49:46 -03:00
|
|
|
void ClipProcessingJobs::trackVideo(Clip& videoClip){
|
|
|
|
|
|
|
|
|
|
// 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-08 11:49:46 -03:00
|
|
|
tracker.SaveTrackedData("kcf_tracker.data");
|
|
|
|
|
|
|
|
|
|
// Create new Tracker Effect
|
|
|
|
|
EffectBase* trackerEffect = new Tracker("kcf_tracker.data");
|
2020-07-09 20:26:01 -03:00
|
|
|
// Apply Tracker Effect to clip
|
2020-07-08 11:49:46 -03:00
|
|
|
videoClip.AddEffect(trackerEffect);
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-09 20:26:01 -03:00
|
|
|
// Apply stabilization to clip
|
2020-07-08 22:31:26 -03:00
|
|
|
void 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-08 22:31:26 -03:00
|
|
|
stabilizer.SaveStabilizedData("stabilization.data");
|
2020-07-08 11:49:46 -03:00
|
|
|
|
2020-07-09 20:26:01 -03:00
|
|
|
// Create new Stabilizer Effect
|
2020-07-08 22:31:26 -03:00
|
|
|
EffectBase* stabilizeEffect = new Stabilizer("stabilization.data");
|
2020-07-09 20:26:01 -03:00
|
|
|
// Apply Stabilizer Effect to clip
|
2020-07-08 22:31:26 -03:00
|
|
|
videoClip.AddEffect(stabilizeEffect);
|
2020-07-08 11:49:46 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|