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>
39 std::vector<uint32_t>
rle;
54 std::vector<int> _classIds,
55 std::vector<float> _confidences,
56 std::vector<cv::Rect_<float>> _boxes,
58 std::vector<int> _objectIds,
59 std::vector<CVObjectMaskData> _masks = {})
71 std::vector<cv::Rect_<float>>
boxes;
73 std::vector<CVObjectMaskData>
masks;
86 std::vector<std::string> classNames;
87 float confThreshold, nmsThreshold;
89 std::string classesFile;
90 std::string modelPath;
91 std::string processingDevice;
92 std::string protobuf_data_path;
98 std::map<int, CVTrackedMaskData> recentObjectMasks;
110 void setProcessingDevice();
113 void DetectObjects(
const cv::Mat &frame,
size_t frame_number);
115 bool iou(cv::Rect pred_box, cv::Rect sort_box);
118 void postprocess(
const cv::Size &frameDims,
const std::vector<cv::Mat>& out,
size_t frame_number);
120 void NormalizeTrackedClasses();
123 std::vector<cv::String> getOutputsNames(
const cv::dnn::Net& net);
145 void SetJson(
const std::string value);