20processingType(processingType), processInfoJson(processInfoJson){
24 processInfoJson = json;
27 if(processingType ==
"Stabilizer"){
28 t = std::thread(&ClipProcessingJobs::stabilizeClip,
this, std::ref(clip), std::ref(this->processingController));
30 if(processingType ==
"Tracker"){
31 t = std::thread(&ClipProcessingJobs::trackClip,
this, std::ref(clip), std::ref(this->processingController));
33 if(processingType ==
"ObjectDetection"){
34 t = std::thread(&ClipProcessingJobs::detectObjectsClip,
this, std::ref(clip), std::ref(this->processingController));
42 CVTracker tracker(processInfoJson, controller);
44 tracker.trackClip(clip);
54 tracker.SaveTrackedData();
62void ClipProcessingJobs::detectObjectsClip(
Clip& clip, ProcessingController& controller){
64 CVObjectDetection objDetector(processInfoJson, controller);
66 objDetector.detectObjectsClip(clip);
76 objDetector.SaveObjDetectedData();
82void ClipProcessingJobs::stabilizeClip(
Clip& clip, ProcessingController& controller){
84 CVStabilization stabilizer(processInfoJson, controller);
86 stabilizer.stabilizeClip(clip);
96 stabilizer.SaveStabilizedData();
105 return (
int)processingController.GetProgress();
111 if(processingController.GetFinished()){
114 return processingController.GetFinished();
119 processingController.CancelProcessing();
124 return processingController.GetError();
129 return processingController.GetErrorMessage();
Header for ClipProcessingJobs class.
The tracker class will receive one bounding box provided by the user and then iterate over the clip f...
void processClip(Clip &clip, std::string json)
ClipProcessingJobs(std::string processingType, std::string processInfoJson)
std::string GetErrorMessage()
This class represents a clip (used to arrange readers on the timeline).
This namespace is the default namespace for all code in the openshot library.