9 #ifndef CscDetectorEngine_h
10 #define CscDetectorEngine_h
17 using std::move, std::runtime_error, std::stringstream, std::optional, std::max;
39 float distanceInMetersFromCenterTop,
40 float distanceInMetersFromCenterRight,
41 float distanceInMetersFromLensFront,
42 const vector<CscRect2d> &detectedObjectsRectangles,
43 optional<int> distanceInPixelsFromCenterTop = {},
44 optional<int> distanceInPixelsFromCenterRight = {},
46 const map<string, map<string, CscPublicAIData *>> &generatedPublicAIData = {});
51 const CscRect2d &getDetectedObjectRectangle(
int detectedObjectIndex)
const;
53 bool didDetectSomething()
const;
55 bool doRectanglesFitIn(
const CscSize2d &dimension)
const;
59 const map<string, map<string, CscPublicAIData *>> &getGeneratedPublicAIData()
const;
62 const vector<CscRect2d> detectedObjectsRectangles;
63 const map<string, map<string, CscPublicAIData *>> generatedPublicAIData;
76 const cv::Mat &getOriginalImage()
const;
80 cv::Mat &getResultingImage()
const;
83 const cv::Mat &originalImage;
84 cv::Mat &resultingImage;
102 const map<string, void *> &additionalParameters);
112 void drawTarget(cv::Mat &image,
float x,
float y);
121 void shiftDetectedObjectsForLense(
const vector<CscWorldObject *> &resultObjList,
const LenseParameter *lense)
const;
126 static void drawDetectedObjectBox(cv::Mat &frame,
const CscRect2d &boxRectangle,
float estimatedDistanceMeter,
float certitude,
const string &objectName,
const Vec3 &color =
Vec3(255, 178, 50));
131 void safeAddRectangle(vector<CscRect2d> &rectangles,
CscRect2d &rectangle, cv::Mat &image);