#pragma once #include <opencv2/core.hpp> #include <limits> namespace types { using f = double; struct constants final { constants() = delete; static constexpr f eps = f(1e-8); }; template<int n> using vec = cv::Vec<f, n>; using vec2 = vec<2>; using vec3 = vec<3>; template<int y, int x> using mat = cv::Matx<f, y, x>; using mat33 = mat<3, 3>; using mat22 = mat<2, 2>; }