5 #include <opencv2/opencv.hpp>
7 #include <vision_module/SoccerObjects/IContourDetector.hpp>
8 #include <vision_module/Tools/Parameters.hpp>
9 #include <vision_module/Tools/General.hpp>
10 #include <vision_module/Tools/SortFuntions.hpp>
25 vector<cv::Point> BodyMaskContourInverted;
26 bool GetPoints(Mat &binaryFrame, vector<Point> &resPoints,
27 vector<vector<Point> > &allFieldContours);
28 void FindInField(
const Mat &srcHsvImg,
const Mat &tmplateGrayImg,
29 Mat *dstGrayImgs,
hsvRangeC *ranges,
bool *inTemplate,
33 cv::FileStorage fr(params.configPath+
"BodyMask.yml",
34 cv::FileStorage::READ);
35 cv::FileNode fileNode = fr[
"IGUS"];
36 read(fileNode, BodyMaskContourInverted);
38 if (BodyMaskContourInverted.size() < 6)
40 ROS_ERROR(
"Create or modify BodyMask.yml!");
45 vector<cv::Point> getBodyMaskContourInRaw(
float rot)
47 vector<cv::Point> res;
48 if (BodyMaskContourInverted.size() < 6)
50 for (
size_t i = 0; i < BodyMaskContourInverted.size(); i++)
53 cv::Point rotated = RotateAroundPoint(BodyMaskContourInverted[i],
55 cv::Point p(rotated.x + params.camera->width() / 2.,
56 abs(rotated.y - 480));
58 cv::Rect(0, 0, params.camera->width(),
59 params.camera->height())))
63 res.push_back(cv::Point(p.x, params.camera->height()));
70 int xlast = res[res.size() - 1].x;
71 res.push_back(cv::Point(xlast, params.camera->height()));
For detecting field boundary.
Definition: FieldDetector.hpp:19
HSV range class.
Definition: Parameters.hpp:126