16#define int64 opencv_broken_int
17#define uint64 opencv_broken_uint
18#include <opencv2/dnn.hpp>
19#include <opencv2/opencv.hpp>
20#include <opencv2/core.hpp>
40 std::vector<int> _classIds,
41 std::vector<float> _confidences,
42 std::vector<cv::Rect_<float>> _boxes,
44 std::vector<int> _objectIds)
55 std::vector<cv::Rect_<float>>
boxes;
69 std::vector<std::string> classNames;
70 float confThreshold, nmsThreshold;
72 std::string classesFile;
73 std::string modelConfiguration;
74 std::string modelWeights;
75 std::string processingDevice;
76 std::string protobuf_data_path;
90 void setProcessingDevice();
93 void DetectObjects(
const cv::Mat &frame,
size_t frame_number);
95 bool iou(cv::Rect pred_box, cv::Rect sort_box);
98 void postprocess(
const cv::Size &frameDims,
const std::vector<cv::Mat>& out,
size_t frame_number);
101 std::vector<cv::String> getOutputsNames(
const cv::dnn::Net& net);
121 void SetJson(
const std::string value);
Header file for Clip class.
Header file for JSON class.
This is a message class for thread safe comunication between ClipProcessingJobs and OpenCV classes.
This class runs trought a clip to detect objects and returns the bounding boxes and its properties.
void SetJsonValue(const Json::Value root)
Load Json::Value into this object.
bool _LoadObjDetectdData()
void detectObjectsClip(openshot::Clip &video, size_t start=0, size_t end=0, bool process_interval=false)
void AddFrameDataToProto(pb_objdetect::Frame *pbFrameData, CVDetectionData &dData)
CVDetectionData GetDetectionData(size_t frameId)
std::map< size_t, CVDetectionData > detectionsData
void SetJson(const std::string value)
Load JSON string into this object.
bool SaveObjDetectedData()
Protobuf Save and Load methods.
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.
std::vector< int > objectIds
std::vector< cv::Rect_< float > > boxes
std::vector< int > classIds
CVDetectionData(std::vector< int > _classIds, std::vector< float > _confidences, std::vector< cv::Rect_< float > > _boxes, size_t _frameId, std::vector< int > _objectIds)
std::vector< float > confidences