draw.h
Go to the documentation of this file.
1 #ifndef VTEC_CV_WRAPPER_DRAW_H
2 #define VTEC_CV_WRAPPER_DRAW_H
3 namespace VTEC
4 {
11 void warpPoints(cv::Point& p, cv::Mat H)
12 {
13  double w = p.x * H.at<double>(2, 0) + p.y * H.at<double>(2, 1) + H.at<double>(2, 2);
14  double u2 = (p.x * H.at<double>(0, 0) + p.y * H.at<double>(0, 1) + H.at<double>(0, 2)) / w;
15  double v2 = (p.x * H.at<double>(1, 0) + p.y * H.at<double>(1, 1) + H.at<double>(1, 2)) / w;
16  p.x = u2;
17  p.y = v2;
18 }
19 
30 void drawResult(cv::Mat& image, cv::Mat H, double score, int bbox_size_x, int bbox_size_y,
31  cv::Scalar color = cv::Scalar(255, 255, 255))
32 {
33  cv::Point p1(0, 0), p2(0, bbox_size_y), p3(bbox_size_x, 0), p4(bbox_size_x, bbox_size_y);
34  warpPoints(p1, H);
35  warpPoints(p2, H);
36  warpPoints(p3, H);
37  warpPoints(p4, H);
38  cv::line(image, p1, p2, color, 2);
39  cv::line(image, p2, p4, color, 2);
40  cv::line(image, p4, p3, color, 2);
41  cv::line(image, p3, p1, color, 2);
42  cv::putText(image, "score: " + std::to_string(score), cv::Point(30, 30), CV_FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255),
43  3);
44 }
45 
46 } /* namespace VTEC */
47 #endif /* VTEC_CV_WRAPPER_DRAW_H */
void warpPoints(cv::Point &p, cv::Mat H)
Warp a point using an homography matrix.
Definition: draw.h:11
void drawResult(cv::Mat &image, cv::Mat H, double score, int bbox_size_x, int bbox_size_y, cv::Scalar color=cv::Scalar(255, 255, 255))
Draws a tracking result in an image.
Definition: draw.h:30
Definition: draw.h:3


cv_wrapper
Author(s):
autogenerated on Sun Dec 16 2018 03:14:36