MIT-SPARK / Kimera-VIO

Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Compile error about default constructor occurs

chingruchung opened this issue · comments

Description:
Compile error occurs when I biuld Kimera-VIO. It seems like the default constructor of the file "Kimera-VIO/include/kimera-vio/mesh.h" has some trouble and it says that: "no matching function for call to ‘cv::Vec<unsigned char, 3>::Vec(cv::viz::Color)’ ".

Command:

make -j $(nproc)

replace this line with the command(s) you used

cd Kimera-VIO
mkdir build
cd build
cmake ..
make -j $(nproc)

Console output:

[  2%] Built target gtest
Scanning dependencies of target kimera_vio
[  3%] Building CXX object CMakeFiles/kimera_vio.dir/src/dataprovider/EurocDataProvider.cpp.o
[  4%] Building CXX object CMakeFiles/kimera_vio.dir/src/playground/EurocPlayground.cpp.o
[  5%] Building CXX object CMakeFiles/kimera_vio.dir/src/frontend/StereoVisionImuFrontend.cpp.o
[  5%] Building CXX object CMakeFiles/kimera_vio.dir/src/frontend/MonoVisionImuFrontend.cpp.o
In file included from /home/ru/tutorial/Kimera-VIO/src/dataprovider/EurocDataProvider.cpp:17:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h: In constructor ‘VIO::EurocDataProvider::EurocDataProvider(const string&, const int&, const int&, const VIO::VioParams&)’:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h:220:11: warning: ‘VIO::EurocDataProvider::final_k_’ will be initialized after [-Wreorder]
  220 |   FrameId final_k_;    // end frame
      |           ^~~~~~~~
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h:205:13: warning:   ‘VIO::VioParams VIO::EurocDataProvider::vio_params_’ [-Wreorder]
  205 |   VioParams vio_params_;
      |             ^~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/src/dataprovider/EurocDataProvider.cpp:57:1: warning:   when initialized here [-Wreorder]
   57 | EurocDataProvider::EurocDataProvider(const std::string& dataset_path,
      | ^~~~~~~~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/src/dataprovider/EurocDataProvider.cpp: In member function ‘bool VIO::EurocDataProvider::parseImuData(const string&, const string&)’:
/home/ru/tutorial/Kimera-VIO/src/dataprovider/EurocDataProvider.cpp:250:27: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘Eigen::EigenBase<Eigen::Matrix<double, 6, 1> >::Index’ {aka ‘long int’} [-Wsign-compare]
  250 |     for (size_t i = 0u; i < gyr_acc_data.size() + 1u; i++) {
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/src/frontend/MonoVisionImuFrontend.cpp: In member function ‘VIO::MonoFrontendOutput::UniquePtr VIO::MonoVisionImuFrontend::nominalSpinMono(VIO::MonoImuSyncPacket::UniquePtr&&)’:
/home/ru/tutorial/Kimera-VIO/src/frontend/MonoVisionImuFrontend.cpp:96:8: warning: variable ‘tic_full_preint’ set but not used [-Wunused-but-set-variable]
   96 |   auto tic_full_preint = utils::Timer::tic();
      |        ^~~~~~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/src/dataprovider/EurocDataProvider.cpp: In member function ‘const VIO::InitializationPerformance VIO::EurocDataProvider::getInitializationPerformance(const std::vector<long int>&, const std::vector<gtsam::Pose3>&, const VIO::VioNavState&, const Vector3&)’:
/home/ru/tutorial/Kimera-VIO/src/dataprovider/EurocDataProvider.cpp:632:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  632 |   for (int i = 1; i < timestamps.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~
In file included from /home/ru/tutorial/Kimera-VIO/src/frontend/StereoVisionImuFrontend.cpp:16:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/StereoVisionImuFrontend.h: In constructor ‘VIO::StereoVisionImuFrontend::StereoVisionImuFrontend(const VIO::ImuParams&, const ImuBias&, const VIO::FrontendParams&, const ConstPtr&, VIO::DisplayQueue*, bool)’:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/StereoVisionImuFrontend.h:197:18: warning: ‘VIO::StereoVisionImuFrontend::frontend_params_’ will be initialized after [-Wreorder]
  197 |   FrontendParams frontend_params_;
      |                  ^~~~~~~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/StereoVisionImuFrontend.h:184:26: warning:   ‘VIO::StereoCamera::ConstPtr VIO::StereoVisionImuFrontend::stereo_camera_’ [-Wreorder]
  184 |   StereoCamera::ConstPtr stereo_camera_;
      |                          ^~~~~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/src/frontend/StereoVisionImuFrontend.cpp:31:1: warning:   when initialized here [-Wreorder]
   31 | StereoVisionImuFrontend::StereoVisionImuFrontend(
      | ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/ru/tutorial/Kimera-VIO/src/playground/EurocPlayground.cpp:1:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h: In constructor ‘VIO::EurocPlayground::EurocPlayground(const string&, const string&, const int&, const int&, const size_t&)’:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h:114:17: warning: ‘VIO::EurocPlayground::subsample_n’ will be initialized after [-Wreorder]
  114 |   const FrameId subsample_n = 50u;
      |                 ^~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h:88:13: warning:   ‘VIO::VioParams VIO::EurocPlayground::vio_params_’ [-Wreorder]
   88 |   VioParams vio_params_;
      |             ^~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/src/playground/EurocPlayground.cpp:9:1: warning:   when initialized here [-Wreorder]
    9 | EurocPlayground::EurocPlayground(const std::string& dataset_path,
      | ^~~~~~~~~~~~~~~
In file included from /home/ru/tutorial/Kimera-VIO/src/playground/EurocPlayground.cpp:1:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h:121:32: warning: ‘VIO::EurocPlayground::euroc_data_provider_’ will be initialized after [-Wreorder]
  121 |   EurocDataProvider::UniquePtr euroc_data_provider_;
      |                                ^~~~~~~~~~~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h:90:27: warning:   ‘VIO::OpenCvVisualizer3D::Ptr VIO::EurocPlayground::visualizer_3d_’ [-Wreorder]
   90 |   OpenCvVisualizer3D::Ptr visualizer_3d_;
      |                           ^~~~~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/src/playground/EurocPlayground.cpp:9:1: warning:   when initialized here [-Wreorder]
    9 | EurocPlayground::EurocPlayground(const std::string& dataset_path,
      | ^~~~~~~~~~~~~~~
In file included from /home/ru/tutorial/Kimera-VIO/src/playground/EurocPlayground.cpp:1:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h:128:37: warning: ‘VIO::EurocPlayground::right_frame_queue_’ will be initialized after [-Wreorder]
  128 |   ThreadsafeQueue<Frame::UniquePtr> right_frame_queue_;
      |                                     ^~~~~~~~~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h:93:26: warning:   ‘VIO::StereoCamera::ConstPtr VIO::EurocPlayground::stereo_camera_’ [-Wreorder]
   93 |   StereoCamera::ConstPtr stereo_camera_;
      |                          ^~~~~~~~~~~~~~
/home/ru/tutorial/Kimera-VIO/src/playground/EurocPlayground.cpp:9:1: warning:   when initialized here [-Wreorder]
    9 | EurocPlayground::EurocPlayground(const std::string& dataset_path,
      | ^~~~~~~~~~~~~~~
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/logging/Logger.h:25,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/VisionImuFrontend.h:29,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/MonoVisionImuFrontend.h:24,
                 from /home/ru/tutorial/Kimera-VIO/src/frontend/MonoVisionImuFrontend.cpp:18:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h: In instantiation of ‘VIO::Mesh<VertexPosition>::Vertex<PositionType>::Vertex() [with PositionType = cv::Point3_<float>; VertexPosition = cv::Point3_<float>]’:
/usr/include/c++/9/bits/stl_construct.h:75:7:   required from ‘void std::_Construct(_T1*, _Args&& ...) [with _T1 = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Args = {}]’
/usr/include/c++/9/bits/stl_uninitialized.h:545:18:   required from ‘static _ForwardIterator std::__uninitialized_default_n_1<_TrivialValueType>::__uninit_default_n(_ForwardIterator, _Size) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int; bool _TrivialValueType = false]’
/usr/include/c++/9/bits/stl_uninitialized.h:601:20:   required from ‘_ForwardIterator std::__uninitialized_default_n(_ForwardIterator, _Size) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int]’
/usr/include/c++/9/bits/stl_uninitialized.h:663:44:   required from ‘_ForwardIterator std::__uninitialized_default_n_a(_ForwardIterator, _Size, std::allocator<_Tp>&) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int; _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >]’
/usr/include/c++/9/bits/vector.tcc:627:35:   required from ‘void std::vector<_Tp, _Alloc>::_M_default_append(std::vector<_Tp, _Alloc>::size_type) [with _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Alloc = std::allocator<VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> > >; std::vector<_Tp, _Alloc>::size_type = long unsigned int]’
/usr/include/c++/9/bits/stl_vector.h:937:4:   required from ‘void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type) [with _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Alloc = std::allocator<VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> > >; std::vector<_Tp, _Alloc>::size_type = long unsigned int]’
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:389:22:   required from here
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:83:48: error: no matching function for call to ‘cv::Vec<unsigned char, 3>::Vec(cv::viz::Color)’
   83 |           vertex_color_(cv::viz::Color::white()) {}
      |                                                ^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:56,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/Camera.h:19,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/MonoVisionImuFrontend-definitions.h:19,
                 from /home/ru/tutorial/Kimera-VIO/src/frontend/MonoVisionImuFrontend.cpp:17:
/usr/local/include/opencv4/opencv2/core/matx.hpp:403:28: note: candidate: ‘template<class _T2> cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, _T2, cv::Matx_ScaleOp)’
  403 |     template<typename _T2> Vec(const Matx<_Tp, cn, 1>& a, _T2 alpha, Matx_ScaleOp);
      |                            ^~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:403:28: note:   template argument deduction/substitution failed:
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/logging/Logger.h:25,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/VisionImuFrontend.h:29,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/MonoVisionImuFrontend.h:24,
                 from /home/ru/tutorial/Kimera-VIO/src/frontend/MonoVisionImuFrontend.cpp:18:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:83:48: note:   candidate expects 3 arguments, 1 provided
   83 |           vertex_color_(cv::viz::Color::white()) {}
      |                                                ^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:56,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/Camera.h:19,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/MonoVisionImuFrontend-definitions.h:19,
                 from /home/ru/tutorial/Kimera-VIO/src/frontend/MonoVisionImuFrontend.cpp:17:
/usr/local/include/opencv4/opencv2/core/matx.hpp:1041:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, const cv::Matx<_Tp, m, 1>&, cv::Matx_SubOp) [with _Tp = unsigned char; int cn = 3]’
 1041 | Vec<_Tp, cn>::Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_SubOp op)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1041:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1037:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, const cv::Matx<_Tp, m, 1>&, cv::Matx_AddOp) [with _Tp = unsigned char; int cn = 3]’
 1037 | Vec<_Tp, cn>::Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_AddOp op)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1037:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1033:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Vec<_Tp, cn>&) [with _Tp = unsigned char; int cn = 3]’
 1033 | Vec<_Tp, cn>::Vec(const Vec<_Tp, cn>& m)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1033:39: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘const cv::Vec<unsigned char, 3>&’
 1033 | Vec<_Tp, cn>::Vec(const Vec<_Tp, cn>& m)
      |                   ~~~~~~~~~~~~~~~~~~~~^
/usr/local/include/opencv4/opencv2/core/matx.hpp:1029:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(std::initializer_list<_Tp>) [with _Tp = unsigned char; int cn = 3]’
 1029 | Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1029:46: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘std::initializer_list<unsigned char>’
 1029 | Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1025:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const _Tp*) [with _Tp = unsigned char; int cn = 3]’
 1025 | Vec<_Tp, cn>::Vec(const _Tp* values)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1025:30: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘const unsigned char*’
 1025 | Vec<_Tp, cn>::Vec(const _Tp* values)
      |                   ~~~~~~~~~~~^~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1021:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1021 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1021:1: note:   candidate expects 14 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1017:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1017 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1017:1: note:   candidate expects 10 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1013:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1013 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1013:1: note:   candidate expects 9 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1009:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1009 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1009:1: note:   candidate expects 8 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1005:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1005 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1005:1: note:   candidate expects 7 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1001:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1001 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1001:1: note:   candidate expects 6 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:997:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  997 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:997:1: note:   candidate expects 5 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:993:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  993 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:993:1: note:   candidate expects 4 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:989:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  989 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:989:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:985:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  985 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:985:1: note:   candidate expects 2 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:981:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp) [with _Tp = unsigned char; int cn = 3]’
  981 | Vec<_Tp, cn>::Vec(_Tp v0)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:981:23: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘unsigned char’
  981 | Vec<_Tp, cn>::Vec(_Tp v0)
      |                   ~~~~^~
/usr/local/include/opencv4/opencv2/core/matx.hpp:978:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec() [with _Tp = unsigned char; int cn = 3]’
  978 | Vec<_Tp, cn>::Vec() {}
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:978:1: note:   candidate expects 0 arguments, 1 provided
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/logging/Logger.h:25,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h:36,
                 from /home/ru/tutorial/Kimera-VIO/src/dataprovider/EurocDataProvider.cpp:17:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h: In instantiation of ‘VIO::Mesh<VertexPosition>::Vertex<PositionType>::Vertex() [with PositionType = cv::Point3_<float>; VertexPosition = cv::Point3_<float>]’:
/usr/include/c++/9/bits/stl_construct.h:75:7:   required from ‘void std::_Construct(_T1*, _Args&& ...) [with _T1 = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Args = {}]’
/usr/include/c++/9/bits/stl_uninitialized.h:545:18:   required from ‘static _ForwardIterator std::__uninitialized_default_n_1<_TrivialValueType>::__uninit_default_n(_ForwardIterator, _Size) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int; bool _TrivialValueType = false]’
/usr/include/c++/9/bits/stl_uninitialized.h:601:20:   required from ‘_ForwardIterator std::__uninitialized_default_n(_ForwardIterator, _Size) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int]’
/usr/include/c++/9/bits/stl_uninitialized.h:663:44:   required from ‘_ForwardIterator std::__uninitialized_default_n_a(_ForwardIterator, _Size, std::allocator<_Tp>&) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int; _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >]’
/usr/include/c++/9/bits/vector.tcc:627:35:   required from ‘void std::vector<_Tp, _Alloc>::_M_default_append(std::vector<_Tp, _Alloc>::size_type) [with _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Alloc = std::allocator<VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> > >; std::vector<_Tp, _Alloc>::size_type = long unsigned int]’
/usr/include/c++/9/bits/stl_vector.h:937:4:   required from ‘void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type) [with _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Alloc = std::allocator<VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> > >; std::vector<_Tp, _Alloc>::size_type = long unsigned int]’
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:389:22:   required from here
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:83:48: error: no matching function for call to ‘cv::Vec<unsigned char, 3>::Vec(cv::viz::Color)’
   83 |           vertex_color_(cv::viz::Color::white()) {}
      |                                                ^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:56,
                 from /usr/local/include/opencv4/opencv2/calib3d.hpp:47,
                 from /usr/local/include/opencv4/opencv2/calib3d/calib3d.hpp:48,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h:23,
                 from /home/ru/tutorial/Kimera-VIO/src/dataprovider/EurocDataProvider.cpp:17:
/usr/local/include/opencv4/opencv2/core/matx.hpp:403:28: note: candidate: ‘template<class _T2> cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, _T2, cv::Matx_ScaleOp)’
  403 |     template<typename _T2> Vec(const Matx<_Tp, cn, 1>& a, _T2 alpha, Matx_ScaleOp);
      |                            ^~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:403:28: note:   template argument deduction/substitution failed:
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/logging/Logger.h:25,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h:36,
                 from /home/ru/tutorial/Kimera-VIO/src/dataprovider/EurocDataProvider.cpp:17:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:83:48: note:   candidate expects 3 arguments, 1 provided
   83 |           vertex_color_(cv::viz::Color::white()) {}
      |                                                ^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:56,
                 from /usr/local/include/opencv4/opencv2/calib3d.hpp:47,
                 from /usr/local/include/opencv4/opencv2/calib3d/calib3d.hpp:48,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h:23,
                 from /home/ru/tutorial/Kimera-VIO/src/dataprovider/EurocDataProvider.cpp:17:
/usr/local/include/opencv4/opencv2/core/matx.hpp:1041:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, const cv::Matx<_Tp, m, 1>&, cv::Matx_SubOp) [with _Tp = unsigned char; int cn = 3]’
 1041 | Vec<_Tp, cn>::Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_SubOp op)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1041:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1037:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, const cv::Matx<_Tp, m, 1>&, cv::Matx_AddOp) [with _Tp = unsigned char; int cn = 3]’
 1037 | Vec<_Tp, cn>::Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_AddOp op)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1037:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1033:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Vec<_Tp, cn>&) [with _Tp = unsigned char; int cn = 3]’
 1033 | Vec<_Tp, cn>::Vec(const Vec<_Tp, cn>& m)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1033:39: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘const cv::Vec<unsigned char, 3>&’
 1033 | Vec<_Tp, cn>::Vec(const Vec<_Tp, cn>& m)
      |                   ~~~~~~~~~~~~~~~~~~~~^
/usr/local/include/opencv4/opencv2/core/matx.hpp:1029:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(std::initializer_list<_Tp>) [with _Tp = unsigned char; int cn = 3]’
 1029 | Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1029:46: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘std::initializer_list<unsigned char>’
 1029 | Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1025:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const _Tp*) [with _Tp = unsigned char; int cn = 3]’
 1025 | Vec<_Tp, cn>::Vec(const _Tp* values)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1025:30: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘const unsigned char*’
 1025 | Vec<_Tp, cn>::Vec(const _Tp* values)
      |                   ~~~~~~~~~~~^~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1021:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1021 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1021:1: note:   candidate expects 14 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1017:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1017 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1017:1: note:   candidate expects 10 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1013:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1013 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1013:1: note:   candidate expects 9 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1009:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1009 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1009:1: note:   candidate expects 8 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1005:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1005 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1005:1: note:   candidate expects 7 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1001:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1001 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1001:1: note:   candidate expects 6 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:997:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  997 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:997:1: note:   candidate expects 5 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:993:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  993 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:993:1: note:   candidate expects 4 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:989:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  989 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:989:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:985:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  985 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:985:1: note:   candidate expects 2 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:981:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp) [with _Tp = unsigned char; int cn = 3]’
  981 | Vec<_Tp, cn>::Vec(_Tp v0)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:981:23: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘unsigned char’
  981 | Vec<_Tp, cn>::Vec(_Tp v0)
      |                   ~~~~^~
/usr/local/include/opencv4/opencv2/core/matx.hpp:978:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec() [with _Tp = unsigned char; int cn = 3]’
  978 | Vec<_Tp, cn>::Vec() {}
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:978:1: note:   candidate expects 0 arguments, 1 provided
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/logging/Logger.h:25,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/VisionImuFrontend.h:29,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/StereoVisionImuFrontend.h:28,
                 from /home/ru/tutorial/Kimera-VIO/src/frontend/StereoVisionImuFrontend.cpp:16:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h: In instantiation of ‘VIO::Mesh<VertexPosition>::Vertex<PositionType>::Vertex() [with PositionType = cv::Point3_<float>; VertexPosition = cv::Point3_<float>]’:
/usr/include/c++/9/bits/stl_construct.h:75:7:   required from ‘void std::_Construct(_T1*, _Args&& ...) [with _T1 = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Args = {}]’
/usr/include/c++/9/bits/stl_uninitialized.h:545:18:   required from ‘static _ForwardIterator std::__uninitialized_default_n_1<_TrivialValueType>::__uninit_default_n(_ForwardIterator, _Size) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int; bool _TrivialValueType = false]’
/usr/include/c++/9/bits/stl_uninitialized.h:601:20:   required from ‘_ForwardIterator std::__uninitialized_default_n(_ForwardIterator, _Size) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int]’
/usr/include/c++/9/bits/stl_uninitialized.h:663:44:   required from ‘_ForwardIterator std::__uninitialized_default_n_a(_ForwardIterator, _Size, std::allocator<_Tp>&) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int; _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >]’
/usr/include/c++/9/bits/vector.tcc:627:35:   required from ‘void std::vector<_Tp, _Alloc>::_M_default_append(std::vector<_Tp, _Alloc>::size_type) [with _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Alloc = std::allocator<VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> > >; std::vector<_Tp, _Alloc>::size_type = long unsigned int]’
/usr/include/c++/9/bits/stl_vector.h:937:4:   required from ‘void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type) [with _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Alloc = std::allocator<VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> > >; std::vector<_Tp, _Alloc>::size_type = long unsigned int]’
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:389:22:   required from here
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:83:48: error: no matching function for call to ‘cv::Vec<unsigned char, 3>::Vec(cv::viz::Color)’
   83 |           vertex_color_(cv::viz::Color::white()) {}
      |                                                ^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:56,
                 from /usr/local/include/opencv4/opencv2/core/types_c.h:126,
                 from /usr/local/include/opencv4/opencv2/core/core_c.h:48,
                 from /usr/local/include/opencv4/opencv2/highgui/highgui_c.h:45,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/StereoVisionImuFrontend.h:22,
                 from /home/ru/tutorial/Kimera-VIO/src/frontend/StereoVisionImuFrontend.cpp:16:
/usr/local/include/opencv4/opencv2/core/matx.hpp:403:28: note: candidate: ‘template<class _T2> cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, _T2, cv::Matx_ScaleOp)’
  403 |     template<typename _T2> Vec(const Matx<_Tp, cn, 1>& a, _T2 alpha, Matx_ScaleOp);
      |                            ^~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:403:28: note:   template argument deduction/substitution failed:
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/logging/Logger.h:25,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/VisionImuFrontend.h:29,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/StereoVisionImuFrontend.h:28,
                 from /home/ru/tutorial/Kimera-VIO/src/frontend/StereoVisionImuFrontend.cpp:16:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:83:48: note:   candidate expects 3 arguments, 1 provided
   83 |           vertex_color_(cv::viz::Color::white()) {}
      |                                                ^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:56,
                 from /usr/local/include/opencv4/opencv2/core/types_c.h:126,
                 from /usr/local/include/opencv4/opencv2/core/core_c.h:48,
                 from /usr/local/include/opencv4/opencv2/highgui/highgui_c.h:45,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/StereoVisionImuFrontend.h:22,
                 from /home/ru/tutorial/Kimera-VIO/src/frontend/StereoVisionImuFrontend.cpp:16:
/usr/local/include/opencv4/opencv2/core/matx.hpp:1041:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, const cv::Matx<_Tp, m, 1>&, cv::Matx_SubOp) [with _Tp = unsigned char; int cn = 3]’
 1041 | Vec<_Tp, cn>::Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_SubOp op)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1041:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1037:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, const cv::Matx<_Tp, m, 1>&, cv::Matx_AddOp) [with _Tp = unsigned char; int cn = 3]’
 1037 | Vec<_Tp, cn>::Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_AddOp op)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1037:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1033:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Vec<_Tp, cn>&) [with _Tp = unsigned char; int cn = 3]’
 1033 | Vec<_Tp, cn>::Vec(const Vec<_Tp, cn>& m)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1033:39: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘const cv::Vec<unsigned char, 3>&’
 1033 | Vec<_Tp, cn>::Vec(const Vec<_Tp, cn>& m)
      |                   ~~~~~~~~~~~~~~~~~~~~^
/usr/local/include/opencv4/opencv2/core/matx.hpp:1029:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(std::initializer_list<_Tp>) [with _Tp = unsigned char; int cn = 3]’
 1029 | Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1029:46: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘std::initializer_list<unsigned char>’
 1029 | Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1025:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const _Tp*) [with _Tp = unsigned char; int cn = 3]’
 1025 | Vec<_Tp, cn>::Vec(const _Tp* values)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1025:30: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘const unsigned char*’
 1025 | Vec<_Tp, cn>::Vec(const _Tp* values)
      |                   ~~~~~~~~~~~^~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1021:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1021 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1021:1: note:   candidate expects 14 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1017:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1017 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1017:1: note:   candidate expects 10 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1013:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1013 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1013:1: note:   candidate expects 9 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1009:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1009 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1009:1: note:   candidate expects 8 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1005:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1005 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1005:1: note:   candidate expects 7 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1001:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1001 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1001:1: note:   candidate expects 6 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:997:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  997 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:997:1: note:   candidate expects 5 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:993:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  993 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:993:1: note:   candidate expects 4 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:989:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  989 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:989:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:985:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  985 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:985:1: note:   candidate expects 2 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:981:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp) [with _Tp = unsigned char; int cn = 3]’
  981 | Vec<_Tp, cn>::Vec(_Tp v0)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:981:23: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘unsigned char’
  981 | Vec<_Tp, cn>::Vec(_Tp v0)
      |                   ~~~~^~
/usr/local/include/opencv4/opencv2/core/matx.hpp:978:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec() [with _Tp = unsigned char; int cn = 3]’
  978 | Vec<_Tp, cn>::Vec() {}
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:978:1: note:   candidate expects 0 arguments, 1 provided
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/logging/Logger.h:25,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h:36,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h:27,
                 from /home/ru/tutorial/Kimera-VIO/src/playground/EurocPlayground.cpp:1:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h: In instantiation of ‘VIO::Mesh<VertexPosition>::Vertex<PositionType>::Vertex() [with PositionType = cv::Point3_<float>; VertexPosition = cv::Point3_<float>]’:
/usr/include/c++/9/bits/stl_construct.h:75:7:   required from ‘void std::_Construct(_T1*, _Args&& ...) [with _T1 = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Args = {}]’
/usr/include/c++/9/bits/stl_uninitialized.h:545:18:   required from ‘static _ForwardIterator std::__uninitialized_default_n_1<_TrivialValueType>::__uninit_default_n(_ForwardIterator, _Size) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int; bool _TrivialValueType = false]’
/usr/include/c++/9/bits/stl_uninitialized.h:601:20:   required from ‘_ForwardIterator std::__uninitialized_default_n(_ForwardIterator, _Size) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int]’
/usr/include/c++/9/bits/stl_uninitialized.h:663:44:   required from ‘_ForwardIterator std::__uninitialized_default_n_a(_ForwardIterator, _Size, std::allocator<_Tp>&) [with _ForwardIterator = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >*; _Size = long unsigned int; _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >]’
/usr/include/c++/9/bits/vector.tcc:627:35:   required from ‘void std::vector<_Tp, _Alloc>::_M_default_append(std::vector<_Tp, _Alloc>::size_type) [with _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Alloc = std::allocator<VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> > >; std::vector<_Tp, _Alloc>::size_type = long unsigned int]’
/usr/include/c++/9/bits/stl_vector.h:937:4:   required from ‘void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type) [with _Tp = VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> >; _Alloc = std::allocator<VIO::Mesh<cv::Point3_<float> >::Vertex<cv::Point3_<float> > >; std::vector<_Tp, _Alloc>::size_type = long unsigned int]’
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:389:22:   required from here
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:83:48: error: no matching function for call to ‘cv::Vec<unsigned char, 3>::Vec(cv::viz::Color)’
   83 |           vertex_color_(cv::viz::Color::white()) {}
      |                                                ^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:56,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h:14,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/VioNavState.h:27,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/backend/VioBackend-definitions.h:28,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/FrontendInputPacketBase.h:17,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/DataProviderModule.h:29,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h:26,
                 from /home/ru/tutorial/Kimera-VIO/src/playground/EurocPlayground.cpp:1:
/usr/local/include/opencv4/opencv2/core/matx.hpp:403:28: note: candidate: ‘template<class _T2> cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, _T2, cv::Matx_ScaleOp)’
  403 |     template<typename _T2> Vec(const Matx<_Tp, cn, 1>& a, _T2 alpha, Matx_ScaleOp);
      |                            ^~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:403:28: note:   template argument deduction/substitution failed:
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/logging/Logger.h:25,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h:36,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h:27,
                 from /home/ru/tutorial/Kimera-VIO/src/playground/EurocPlayground.cpp:1:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/mesh/Mesh.h:83:48: note:   candidate expects 3 arguments, 1 provided
   83 |           vertex_color_(cv::viz::Color::white()) {}
      |                                                ^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:56,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h:14,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/VioNavState.h:27,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/backend/VioBackend-definitions.h:28,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/FrontendInputPacketBase.h:17,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/DataProviderModule.h:29,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h:26,
                 from /home/ru/tutorial/Kimera-VIO/src/playground/EurocPlayground.cpp:1:
/usr/local/include/opencv4/opencv2/core/matx.hpp:1041:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, const cv::Matx<_Tp, m, 1>&, cv::Matx_SubOp) [with _Tp = unsigned char; int cn = 3]’
 1041 | Vec<_Tp, cn>::Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_SubOp op)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1041:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1037:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Matx<_Tp, m, 1>&, const cv::Matx<_Tp, m, 1>&, cv::Matx_AddOp) [with _Tp = unsigned char; int cn = 3]’
 1037 | Vec<_Tp, cn>::Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_AddOp op)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1037:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1033:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const cv::Vec<_Tp, cn>&) [with _Tp = unsigned char; int cn = 3]’
 1033 | Vec<_Tp, cn>::Vec(const Vec<_Tp, cn>& m)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1033:39: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘const cv::Vec<unsigned char, 3>&’
 1033 | Vec<_Tp, cn>::Vec(const Vec<_Tp, cn>& m)
      |                   ~~~~~~~~~~~~~~~~~~~~^
/usr/local/include/opencv4/opencv2/core/matx.hpp:1029:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(std::initializer_list<_Tp>) [with _Tp = unsigned char; int cn = 3]’
 1029 | Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1029:46: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘std::initializer_list<unsigned char>’
 1029 | Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1025:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(const _Tp*) [with _Tp = unsigned char; int cn = 3]’
 1025 | Vec<_Tp, cn>::Vec(const _Tp* values)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1025:30: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘const unsigned char*’
 1025 | Vec<_Tp, cn>::Vec(const _Tp* values)
      |                   ~~~~~~~~~~~^~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1021:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1021 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1021:1: note:   candidate expects 14 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1017:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1017 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1017:1: note:   candidate expects 10 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1013:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1013 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1013:1: note:   candidate expects 9 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1009:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1009 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1009:1: note:   candidate expects 8 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1005:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1005 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1005:1: note:   candidate expects 7 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:1001:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
 1001 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:1001:1: note:   candidate expects 6 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:997:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  997 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:997:1: note:   candidate expects 5 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:993:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  993 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:993:1: note:   candidate expects 4 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:989:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  989 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:989:1: note:   candidate expects 3 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:985:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp, _Tp) [with _Tp = unsigned char; int cn = 3]’
  985 | Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:985:1: note:   candidate expects 2 arguments, 1 provided
/usr/local/include/opencv4/opencv2/core/matx.hpp:981:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec(_Tp) [with _Tp = unsigned char; int cn = 3]’
  981 | Vec<_Tp, cn>::Vec(_Tp v0)
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:981:23: note:   no known conversion for argument 1 from ‘cv::viz::Color’ to ‘unsigned char’
  981 | Vec<_Tp, cn>::Vec(_Tp v0)
      |                   ~~~~^~
/usr/local/include/opencv4/opencv2/core/matx.hpp:978:1: note: candidate: ‘cv::Vec<_Tp, cn>::Vec() [with _Tp = unsigned char; int cn = 3]’
  978 | Vec<_Tp, cn>::Vec() {}
      | ^~~~~~~~~~~~
/usr/local/include/opencv4/opencv2/core/matx.hpp:978:1: note:   candidate expects 0 arguments, 1 provided
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/VioNavState.h:27,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/backend/VioBackend-definitions.h:28,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/FrontendInputPacketBase.h:17,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/VisionImuFrontend.h:22,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/StereoVisionImuFrontend.h:28,
                 from /home/ru/tutorial/Kimera-VIO/src/frontend/StereoVisionImuFrontend.cpp:16:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h: At global scope:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h:70:13: warning: ‘void VIO::getValidKeypointsFromStatusKeypointsCV(const StatusKeypointsCV&, VIO::KeypointsCV*)’ defined but not used [-Wunused-function]
   70 | static void getValidKeypointsFromStatusKeypointsCV(
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/kimera_vio.dir/build.make:284:CMakeFiles/kimera_vio.dir/src/frontend/StereoVisionImuFrontend.cpp.o] 錯誤 1
make[2]: *** 正在等待未完成的作業....
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/utils/UtilsOpenCV.h:34,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/CameraParams.h:27,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/Camera.h:25,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/MonoVisionImuFrontend-definitions.h:19,
                 from /home/ru/tutorial/Kimera-VIO/src/frontend/MonoVisionImuFrontend.cpp:17:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h: At global scope:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h:70:13: warning: ‘void VIO::getValidKeypointsFromStatusKeypointsCV(const StatusKeypointsCV&, VIO::KeypointsCV*)’ defined but not used [-Wunused-function]
   70 | static void getValidKeypointsFromStatusKeypointsCV(
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/kimera_vio.dir/build.make:310:CMakeFiles/kimera_vio.dir/src/frontend/MonoVisionImuFrontend.cpp.o] 錯誤 1
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/VioNavState.h:27,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h:30,
                 from /home/ru/tutorial/Kimera-VIO/src/dataprovider/EurocDataProvider.cpp:17:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h: At global scope:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h:70:13: warning: ‘void VIO::getValidKeypointsFromStatusKeypointsCV(const StatusKeypointsCV&, VIO::KeypointsCV*)’ defined but not used [-Wunused-function]
   70 | static void getValidKeypointsFromStatusKeypointsCV(
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/kimera_vio.dir/build.make:141:CMakeFiles/kimera_vio.dir/src/dataprovider/EurocDataProvider.cpp.o] 錯誤 1
In file included from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/VioNavState.h:27,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/backend/VioBackend-definitions.h:28,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/frontend/FrontendInputPacketBase.h:17,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/dataprovider/DataProviderModule.h:29,
                 from /home/ru/tutorial/Kimera-VIO/include/kimera-vio/playground/EurocPlayground.h:26,
                 from /home/ru/tutorial/Kimera-VIO/src/playground/EurocPlayground.cpp:1:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h: In function ‘Derived VIO::safeCast(const Base&) [with Base = VIO::DisplayParams; Derived = VIO::OpenCv3dDisplayParams]’:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h:108:1: warning: control reaches end of non-void function [-Wreturn-type]
  108 | }
      | ^
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h: At global scope:
/home/ru/tutorial/Kimera-VIO/include/kimera-vio/common/vio_types.h:70:13: warning: ‘void VIO::getValidKeypointsFromStatusKeypointsCV(const StatusKeypointsCV&, VIO::KeypointsCV*)’ defined but not used [-Wunused-function]
   70 | static void getValidKeypointsFromStatusKeypointsCV(
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/kimera_vio.dir/build.make:167:CMakeFiles/kimera_vio.dir/src/playground/EurocPlayground.cpp.o] 錯誤 1
make[1]: *** [CMakeFiles/Makefile2:1495:CMakeFiles/kimera_vio.dir/all] 錯誤 2
make: *** [Makefile:141:all] 錯誤 2
# remove this line and paste your console output HERE - no screenshots please

Additional files:
Please attach all the files needed to reproduce the error.
圖片
圖片
圖片

Please give also the following information:

  • Kimera-Vio branch, tag or commit used
  • GTSAM version used:
  • OpenGV version used:
  • OpenCV version used: opencv_4
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 20.04.3 LTS
  • Did you change the source code? (yes / no): no

In 20.04 use opencv tag 3.4.2 and it should work. Feel free to reopen if it doesn't.