Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static std::array<int, 3> cross(const std::array<int, 3> &a,
- const std::array<int, 3> &b)
- {
- std::array<int, 3> result;
- result[0] = a[1] * b[2] - a[2] * b[1];
- result[1] = a[2] * b[0] - a[0] * b[2];
- result[2] = a[0] * b[1] - a[1] * b[0];
- return result;
- }
- static double point_to_line_distance(const cv::Point &p, const cv::Vec4i &line)
- {
- std::array<int, 3> pa{ { line[0], line[1], 1 } };
- std::array<int, 3> pb{ { line[2], line[3], 1 } };
- std::array<int, 3> l = cross(pa, pb);
- return std::abs((p.x * l[0] + p.y * l[1] + l[2])) * 1.0 /
- std::sqrt(double(l[0] * l[0] + l[1] * l[1]));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement