geometry.h 910 B

1234567891011121314151617181920212223242526272829
  1. #ifdef HAS_OPENCV3
  2. #include <opencv2/core.hpp> //Any OPENCV3 code
  3. #else
  4. #include <opencv2/core/core.hpp> //Any Opencv2 code
  5. #endif
  6. double dist(cv::Point, cv::Point);
  7. double inner_angle(cv::Point, cv::Point, cv::Point);
  8. cv::Point map_point(double, cv::Point, cv::Point);
  9. cv::Point unmap_point(double, cv::Point, cv::Point);
  10. cv::Vec<double,3> get_line(cv::Point, cv::Point);
  11. bool is_in_line(cv::Vec<double,3> line, cv::Point p);
  12. bool is_above_line(cv::Vec<double,3> line, cv::Point p);
  13. cv::Point further_point_from_line(cv::Vec<double,3>, std::vector<cv::Point>);
  14. class CoordinateSystem
  15. {
  16. private:
  17. double theta;
  18. cv::Matx<double,2,2> R, Rt;
  19. cv::Point origin;
  20. void precompute();
  21. public:
  22. CoordinateSystem(cv::Point, cv::Point);
  23. CoordinateSystem(double angle, cv::Point origin_);
  24. cv::Point map(cv::Point p);
  25. cv::Point unmap(cv::Point p);
  26. };