CMAKE( it look fine)
-- The CXX compiler identification is GNU 9.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /home/artcs/anaconda3/envs/pymagsac (found version "3.4.2")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/artcs/Downloads/magsac-master/build
but when I run make it shows:
[ 10%] Building CXX object CMakeFiles/MAGSAC.dir/include/gamma_values.cpp.o
[ 20%] Building CXX object CMakeFiles/MAGSAC.dir/include/magsac.cpp.o
In file included from /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/GCoptimization.h:109,
from /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/estimator.h:37,
from /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/model.h:39,
from /home/artcs/Downloads/magsac-master/include/magsac.h:6,
from /home/artcs/Downloads/magsac-master/include/magsac.cpp:1:
/home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h: In member function ‘void Energy<captype, tcaptype, flowtype>::add_term3(Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value)’:
/home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:262:17: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
262 | register Value pi = (E000 + E011 + E101 + E110) - (E100 + E010 + E001 + E111);
| ^~
/home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:263:17: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
263 | register Value delta;
| ^~~~~
/home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:264:15: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
264 | register Var u;
| ^
[ 30%] Building CXX object CMakeFiles/MAGSAC.dir/include/model_score.cpp.o
[ 40%] Building CXX object CMakeFiles/MAGSAC.dir/src/main.cpp.o
In file included from /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/GCoptimization.h:109,
from /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/estimator.h:37,
from /home/artcs/Downloads/magsac-master/include/magsac_utils.h:8,
from /home/artcs/Downloads/magsac-master/src/main.cpp:15:
/home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h: In member function ‘void Energy<captype, tcaptype, flowtype>::addterm3(Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value)’:
/home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:262:17: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
262 | register Value pi = (E000 + E011 + E101 + E110) - (E100 + E010 + E001 + E111);
| ^~
/home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:263:17: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
263 | register Value delta;
| ^~~~~
/home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:264:15: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
264 | register Var u;
| ^
In file included from /home/artcs/Downloads/magsac-master/src/main.cpp:25:
/home/artcs/Downloads/magsac-master/include/estimators.h: At global scope:
/home/artcs/Downloads/magsac-master/include/estimators.h:83:22: error: ‘Model’ has not been declared
83 | bool isValidModel(Model& model,
| ^~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:136:30: error: ‘Model’ has not been declared
136 | inline bool applyDegensac(Model& model_, // The input model to be tested
| ^~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h: In member function ‘double magsac::estimator::FundamentalMatrixEstimator<_MinimalSolverEngine, NonMinimalSolverEngine>::residualForScoring(const cv::Mat&, const gcransac::Model&) const’:
/home/artcs/Downloads/magsac-master/include/estimators.h:38:22: warning: there are no arguments to ‘squaredSymmetricEpipolarDistance’ that depend on a template parameter, so a declaration of ‘squaredSymmetricEpipolarDistance’ must be available [-fpermissive]
38 | return std::sqrt(squaredSymmetricEpipolarDistance(point, model_.descriptor));
| ^~~~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h: In member function ‘bool magsac::estimator::FundamentalMatrixEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::isValidModel(int&, const cv::Mat&, const std::vector&, const sizet*, double, bool&) const’:
/home/artcs/Downloads/magsac-master/include/estimators.h:96:48: error: request for member ‘descriptor’ in ‘model’, which is of non-class type ‘int’
96 | const Eigen::Matrix3d &descriptor = model_.descriptor; // The decriptor of the current model
| ^~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:97:36: warning: there are no arguments to ‘sampleSize’ that depend on a template parameter, so a declaration of ‘sampleSize’ must be available [-fpermissive]
97 | constexpr size_t sample_size = sampleSize(); // Size of a minimal sample
| ^~~~~~
In file included from /home/artcs/anaconda3/envs/pymagsac/include/opencv2/core.hpp:52,
from /home/artcs/Downloads/magsac-master/src/main.cpp:9:
/home/artcs/Downloads/magsac-master/include/estimators.h:100:41: error: ‘minimum_inlier_ratio_in_validity_check’ was not declared in this scope
100 | MAX(samplesize, inliers.size() minimum_inlier_ratio_in_validitycheck);
| ^~~~~~~~~~
In file included from /home/artcs/Downloads/magsac-master/src/main.cpp:25:
/home/artcs/Downloads/magsac-master/include/estimators.h:108:10: warning: there are no arguments to ‘squaredSymmetricEpipolarDistance’ that depend on a template parameter, so a declaration of ‘squaredSymmetricEpipolarDistance’ must be available [-fpermissive]
108 | if (squaredSymmetricEpipolarDistance(data.row(idx), descriptor) < squared_threshold)
| ^~~~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:122:9: error: ‘use_degensac’ was not declared in this scope
122 | if (use_degensac)
| ^~~~
/home/artcs/Downloads/magsac-master/include/estimators.h: In member function ‘bool magsac::estimator::FundamentalMatrixEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::applyDegensac(int&, const cv::Mat&, const std::vector&, const size_t, double, bool&) const’:
/home/artcs/Downloads/magsac-master/include/estimators.h:158:13: error: request for member ‘descriptor’ in ‘model’, which is of non-class type ‘int’
158 | model.descriptor.block<3, 3>(0, 0);
| ^~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:176:30: error: request for member ‘descriptor’ in ‘model_’, which is of non-class type ‘int’
176 | epipolarcross * model.descriptor;
| ^~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:235:29: warning: there are no arguments to ‘sampleSize’ that depend on a template parameter, so a declaration of ‘sampleSize’ must be available [-fpermissive]
235 | for (size_t i = 0; i < sampleSize(); ++i)
| ^~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:269:30: error: ‘squared_homography_threshold’ was not declared in this scope
269 | if (squared_residual < squared_homography_threshold)
| ^~~~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:289:38: error: ‘HomographyEstimator’ in namespace ‘magsac::estimator’ does not name a template type
289 | static const magsac::estimator::HomographyEstimator<
| ^~~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:301:11: error: ‘homography_estimator’ was not declared in this scope
301 | if (homographyestimator.squaredResidual(data.row(inlier_idx), best_homography) < squared_homography_threshold)
| ^~~~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:301:90: error: ‘squared_homography_threshold’ was not declared in this scope
301 | (homographyestimator.squaredResidual(data.row(inlier_idx), best_homography) < squared_homography_threshold)
| ^~~~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:305:38: error: ‘homography_estimator’ was not declared in this scope
305
if (homography_inliers.size() < homography_estimator.nonMinimalSampleSize())
^~~~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:310:18: error: ‘Model’ was not declared in this scope; did you mean ‘gcransac::Model’?
310
std::vector homographies;
^~~~~
gcransac::Model
In file included from /home/artcs/Downloads/magsac-master/include/magsac_utils.h:9,
from /home/artcs/Downloads/magsac-master/src/main.cpp:15:
/home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/model.h:43:8: note: ‘gcransac::Model’ declared here
43
class Model
^~~~~
In file included from /home/artcs/Downloads/magsac-master/src/main.cpp:25:
/home/artcs/Downloads/magsac-master/include/estimators.h:310:23: error: template argument 1 is invalid
310
std::vector homographies;
^
/home/artcs/Downloads/magsac-master/include/estimators.h:310:23: error: template argument 2 is invalid
/home/artcs/Downloads/magsac-master/include/estimators.h:313:6: error: ‘homography_estimator’ was not declared in this scope
313
homographyestimator.estimateModelNonminimal(data, // All data points
^~~~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:320:23: error: request for member ‘size’ in ‘homographies’, which is of non-class type ‘int’
320
if (homographies.size() != 1)
^~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:325:21: error: invalid types ‘int[int]’ for array subscript
325
homographies[0].descriptor;
^
/home/artcs/Downloads/magsac-master/include/estimators.h:335:11: error: expected ‘;’ before ‘model’
335
Model model;
^~
;
/home/artcs/Downloads/magsac-master/include/estimators.h:352:7: error: ‘model’ was not declared in this scope; did you mean ‘modfl’?
352
model, // The estimated model
^~~~~
modfl
/home/artcs/Downloads/magsac-master/include/estimators.h: In member function ‘double magsac::estimator::EssentialMatrixEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::residualForScoring(const cv::Mat&, const gcransac::Model&) const’:
/home/artcs/Downloads/magsac-master/include/estimators.h:396:12: warning: there are no arguments to ‘squaredSymmetricEpipolarDistance’ that depend on a template parameter, so a declaration of ‘squaredSymmetricEpipolarDistance’ must be available [-fpermissive]
396
^~~~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h: In member function ‘double magsac::estimator::HomographyEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::residualForScoring(const cv::Mat&, const gcransac::Model&) const’:
/home/artcs/Downloads/magsac-master/include/estimators.h:454:12: warning: there are no arguments to ‘residual’ that depend on a template parameter, so a declaration of ‘residual’ must be available [-fpermissive]
454
return residual(point, model.descriptor);
^~~~
/home/artcs/Downloads/magsac-master/src/main.cpp: In function ‘void testEssentialMatrixFitting(double, double, const string&, bool, double)’:
/home/artcs/Downloads/magsac-master/src/main.cpp:430:48: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
430
printf("\tNumber of points closer than %f is %d\n",
~^
int
%ld
431
drawingthreshold, inlier_number);
~~~~~
size_t {aka long unsigned int}
/home/artcs/Downloads/magsac-master/src/main.cpp: In function ‘void opencvEssentialMatrixFitting(double, double, const string&, bool)’:
/home/artcs/Downloads/magsac-master/src/main.cpp:1160:47: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
1160
printf("\tNumber of points closer than %f = %d\n",
~^
int
%ld
1161
threshold_, inlier_number);
~~~~~
size_t {aka long unsigned int}
In file included from /home/artcs/Downloads/magsac-master/src/main.cpp:17:
/home/artcs/Downloads/magsac-master/include/magsac.h: In instantiation of ‘bool MAGSAC<DatumType, ModelEstimator>::sigmaConsensus(const cv::Mat&, const gcransac::Model&, gcransac::Model&, ModelScore&, const ModelEstimator&, const ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::FundamentalMatrixEstimator<gcransac::estimator::solver::FundamentalMatrixSevenPointSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’:
/home/artcs/Downloads/magsac-master/include/magsac.h:266:15: required from ‘bool MAGSAC<DatumType, ModelEstimator>::run(const cv::Mat&, double, ModelEstimator&, gcransac::sampler::Sampler<cv::Mat, long unsigned int>&, gcransac::Model&, int&, ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::FundamentalMatrixEstimator<gcransac::estimator::solver::FundamentalMatrixSevenPointSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’
/home/artcs/Downloads/magsac-master/src/main.cpp:539:8: required from here
/home/artcs/Downloads/magsac-master/include/magsac.h:537:31: error: cannot convert ‘__gnu_cxx::__alloc_traits<std::allocator, gcransac::Model>::value_type’ {aka ‘gcransac::Model’} to ‘int&’
537
if (sigma_models.size() == 1 && // If only a single model is estimated
In file included from /home/artcs/Downloads/magsac-master/src/main.cpp:25:
/home/artcs/Downloads/magsac-master/include/estimators.h:83:29: note: initializing argument 1 of ‘bool magsac::estimator::FundamentalMatrixEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::isValidModel(int&, const cv::Mat&, const std::vector&, const size_t*, double, bool&) const [with _MinimalSolverEngine = gcransac::estimator::solver::FundamentalMatrixSevenPointSolver; _NonMinimalSolverEngine = gcransac::estimator::solver::FundamentalMatrixEightPointSolver; size_t = long unsigned int]’
83
bool isValidModel(Model& model_,
~^~~~
In file included from /home/artcs/Downloads/magsac-master/src/main.cpp:17:
/home/artcs/Downloads/magsac-master/include/magsac.h: In instantiation of ‘bool MAGSAC<DatumType, ModelEstimator>::sigmaConsensusPlusPlus(const cv::Mat&, const gcransac::Model&, gcransac::Model&, ModelScore&, const ModelEstimator&, const ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::FundamentalMatrixEstimator<gcransac::estimator::solver::FundamentalMatrixSevenPointSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’:
/home/artcs/Downloads/magsac-master/include/magsac.h:273:15: required from ‘bool MAGSAC<DatumType, ModelEstimator>::run(const cv::Mat&, double, ModelEstimator&, gcransac::sampler::Sampler<cv::Mat, long unsigned int>&, gcransac::Model&, int&, ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::FundamentalMatrixEstimator<gcransac::estimator::solver::FundamentalMatrixSevenPointSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’
/home/artcs/Downloads/magsac-master/src/main.cpp:539:8: required from here
/home/artcs/Downloads/magsac-master/include/magsac.h:804:27: error: cannot convert ‘gcransac::Model’ to ‘int&’
804
estimator_.isValidModel(polished_model,
^~~~~~
gcransac::Model
In file included from /home/artcs/Downloads/magsac-master/src/main.cpp:25:
/home/artcs/Downloads/magsac-master/include/estimators.h:83:29: note: initializing argument 1 of ‘bool magsac::estimator::FundamentalMatrixEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::isValidModel(int&, const cv::Mat&, const std::vector&, const size_t*, double, bool&) const [with _MinimalSolverEngine = gcransac::estimator::solver::FundamentalMatrixSevenPointSolver; _NonMinimalSolverEngine = gcransac::estimator::solver::FundamentalMatrixEightPointSolver; sizet = long unsigned int]’
83 | bool isValidModel(Model& model,
| ~^~~~
/home/artcs/Downloads/magsac-master/include/estimators.h: In instantiation of ‘double magsac::estimator::EssentialMatrixEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::residualForScoring(const cv::Mat&, const gcransac::Model&) const [with _MinimalSolverEngine = gcransac::estimator::solver::EssentialMatrixFivePointSteweniusSolver; NonMinimalSolverEngine = gcransac::estimator::solver::FundamentalMatrixEightPointSolver]’:
/home/artcs/Downloads/magsac-master/include/magsac.h:951:16: required from ‘void MAGSAC<DatumType, ModelEstimator>::getModelQuality(const cv::Mat&, const gcransac::Model&, const ModelEstimator&, double&, double&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::EssentialMatrixEstimator<gcransac::estimator::solver::EssentialMatrixFivePointSteweniusSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’
/home/artcs/Downloads/magsac-master/include/magsac.h:550:3: required from ‘bool MAGSAC<DatumType, ModelEstimator>::sigmaConsensus(const cv::Mat&, const gcransac::Model&, gcransac::Model&, ModelScore&, const ModelEstimator&, const ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::EssentialMatrixEstimator<gcransac::estimator::solver::EssentialMatrixFivePointSteweniusSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’
/home/artcs/Downloads/magsac-master/include/magsac.h:266:15: required from ‘bool MAGSAC<DatumType, ModelEstimator>::run(const cv::Mat&, double, ModelEstimator&, gcransac::sampler::Sampler<cv::Mat, long unsigned int>&, gcransac::Model&, int&, ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::EssentialMatrixEstimator<gcransac::estimator::solver::EssentialMatrixFivePointSteweniusSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’
/home/artcs/Downloads/magsac-master/src/main.cpp:401:8: required from here
/home/artcs/Downloads/magsac-master/include/estimators.h:396:44: warning: ‘squaredSymmetricEpipolarDistance’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
396 | return squaredSymmetricEpipolarDistance(point, model_.descriptor);
| ~~~~~~^~~~~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:396:44: note: declarations in dependent base ‘gcransac::estimator::EssentialMatrixEstimator<gcransac::estimator::solver::EssentialMatrixFivePointSteweniusSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>’ are not found by unqualified lookup
/home/artcs/Downloads/magsac-master/include/estimators.h:396:44: note: use ‘this->squaredSymmetricEpipolarDistance’ instead
/home/artcs/Downloads/magsac-master/include/estimators.h: In instantiation of ‘double magsac::estimator::HomographyEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::residualForScoring(const cv::Mat&, const gcransac::Model&) const [with _MinimalSolverEngine = gcransac::estimator::solver::HomographyFourPointSolver; NonMinimalSolverEngine = gcransac::estimator::solver::HomographyFourPointSolver]’:
/home/artcs/Downloads/magsac-master/include/magsac.h:951:16: required from ‘void MAGSAC<DatumType, ModelEstimator>::getModelQuality(const cv::Mat&, const gcransac::Model&, const ModelEstimator&, double&, double&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::HomographyEstimator<gcransac::estimator::solver::HomographyFourPointSolver, gcransac::estimator::solver::HomographyFourPointSolver>]’
/home/artcs/Downloads/magsac-master/include/magsac.h:550:3: required from ‘bool MAGSAC<DatumType, ModelEstimator>::sigmaConsensus(const cv::Mat&, const gcransac::Model&, gcransac::Model&, ModelScore&, const ModelEstimator&, const ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::HomographyEstimator<gcransac::estimator::solver::HomographyFourPointSolver, gcransac::estimator::solver::HomographyFourPointSolver>]’
/home/artcs/Downloads/magsac-master/include/magsac.h:266:15: required from ‘bool MAGSAC<DatumType, ModelEstimator>::run(const cv::Mat&, double, ModelEstimator&, gcransac::sampler::Sampler<cv::Mat, long unsigned int>&, gcransac::Model&, int&, ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::HomographyEstimator<gcransac::estimator::solver::HomographyFourPointSolver, gcransac::estimator::solver::HomographyFourPointSolver>]’
/home/artcs/Downloads/magsac-master/src/main.cpp:686:8: required from here
/home/artcs/Downloads/magsac-master/include/estimators.h:454:20: warning: ‘residual’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
454 | return residual(point, model_.descriptor);
| ~~^~~~~~~~~
/home/artcs/Downloads/magsac-master/include/estimators.h:454:20: note: declarations in dependent base ‘gcransac::estimator::RobustHomographyEstimator<gcransac::estimator::solver::HomographyFourPointSolver, gcransac::estimator::solver::HomographyFourPointSolver>’ are not found by unqualified lookup
/home/artcs/Downloads/magsac-master/include/estimators.h:454:20: note: use ‘this->residual’ instead
CMakeFiles/MAGSAC.dir/build.make:134: recipe for target 'CMakeFiles/MAGSAC.dir/src/main.cpp.o' failed
make[2]: [CMakeFiles/MAGSAC.dir/src/main.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/MAGSAC.dir/all' failed
make[1]: [CMakeFiles/MAGSAC.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
hi @danini
CMAKE( it look fine) -- The CXX compiler identification is GNU 9.3.0 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found OpenCV: /home/artcs/anaconda3/envs/pymagsac (found version "3.4.2") -- Found OpenMP_CXX: -fopenmp (found version "4.5") -- Found OpenMP: TRUE (found version "4.5")
-- Configuring done -- Generating done -- Build files have been written to: /home/artcs/Downloads/magsac-master/build
but when I run make it shows:
[ 10%] Building CXX object CMakeFiles/MAGSAC.dir/include/gamma_values.cpp.o [ 20%] Building CXX object CMakeFiles/MAGSAC.dir/include/magsac.cpp.o In file included from /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/GCoptimization.h:109, from /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/estimator.h:37, from /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/model.h:39, from /home/artcs/Downloads/magsac-master/include/magsac.h:6, from /home/artcs/Downloads/magsac-master/include/magsac.cpp:1: /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h: In member function ‘void Energy<captype, tcaptype, flowtype>::add_term3(Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value)’: /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:262:17: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister] 262 | register Value pi = (E000 + E011 + E101 + E110) - (E100 + E010 + E001 + E111); | ^~ /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:263:17: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister] 263 | register Value delta; | ^~~~~ /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:264:15: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister] 264 | register Var u; | ^ [ 30%] Building CXX object CMakeFiles/MAGSAC.dir/include/model_score.cpp.o [ 40%] Building CXX object CMakeFiles/MAGSAC.dir/src/main.cpp.o In file included from /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/GCoptimization.h:109, from /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/estimator.h:37, from /home/artcs/Downloads/magsac-master/include/magsac_utils.h:8, from /home/artcs/Downloads/magsac-master/src/main.cpp:15: /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h: In member function ‘void Energy<captype, tcaptype, flowtype>::addterm3(Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Var, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value, Energy<captype, tcaptype, flowtype>::Value)’: /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:262:17: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister] 262 | register Value pi = (E000 + E011 + E101 + E110) - (E100 + E010 + E001 + E111); | ^~ /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:263:17: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister] 263 | register Value delta; | ^~~~~ /home/artcs/Downloads/magsac-master/graph-cut-ransac/src/pygcransac/include/energy.h:264:15: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister] 264 | register Var u; | ^ In file included from /home/artcs/Downloads/magsac-master/src/main.cpp:25: /home/artcs/Downloads/magsac-master/include/estimators.h: At global scope: /home/artcs/Downloads/magsac-master/include/estimators.h:83:22: error: ‘Model’ has not been declared 83 | bool isValidModel(Model& model, | ^~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:136:30: error: ‘Model’ has not been declared 136 | inline bool applyDegensac(Model& model_, // The input model to be tested | ^~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h: In member function ‘double magsac::estimator::FundamentalMatrixEstimator<_MinimalSolverEngine, NonMinimalSolverEngine>::residualForScoring(const cv::Mat&, const gcransac::Model&) const’: /home/artcs/Downloads/magsac-master/include/estimators.h:38:22: warning: there are no arguments to ‘squaredSymmetricEpipolarDistance’ that depend on a template parameter, so a declaration of ‘squaredSymmetricEpipolarDistance’ must be available [-fpermissive] 38 | return std::sqrt(squaredSymmetricEpipolarDistance(point, model_.descriptor)); | ^&, const sizet*, double, bool&) const’:
/home/artcs/Downloads/magsac-master/include/estimators.h:96:48: error: request for member ‘descriptor’ in ‘model’, which is of non-class type ‘int’
96 | const Eigen::Matrix3d &descriptor = model_.descriptor; // The decriptor of the current model
| ^&, const size_t , double, bool&) const’:
/home/artcs/Downloads/magsac-master/include/estimators.h:158:13: error: request for member ‘descriptor’ in ‘model’, which is of non-class type ‘int’
158 | model.descriptor.block<3, 3>(0, 0);
| ^
~~~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h: In member function ‘bool magsac::estimator::FundamentalMatrixEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::isValidModel(int&, const cv::Mat&, const std::vector~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:97:36: warning: there are no arguments to ‘sampleSize’ that depend on a template parameter, so a declaration of ‘sampleSize’ must be available [-fpermissive] 97 | constexpr size_t sample_size = sampleSize(); // Size of a minimal sample | ^~~~~~ In file included from /home/artcs/anaconda3/envs/pymagsac/include/opencv2/core.hpp:52, from /home/artcs/Downloads/magsac-master/src/main.cpp:9: /home/artcs/Downloads/magsac-master/include/estimators.h:100:41: error: ‘minimum_inlier_ratio_in_validity_check’ was not declared in this scope 100 | MAX(samplesize, inliers.size() minimum_inlier_ratio_in_validitycheck); | ^~~~~~~~~~ In file included from /home/artcs/Downloads/magsac-master/src/main.cpp:25: /home/artcs/Downloads/magsac-master/include/estimators.h:108:10: warning: there are no arguments to ‘squaredSymmetricEpipolarDistance’ that depend on a template parameter, so a declaration of ‘squaredSymmetricEpipolarDistance’ must be available [-fpermissive] 108 | if (squaredSymmetricEpipolarDistance(data.row(idx), descriptor) < squared_threshold) | ^~~~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:122:9: error: ‘use_degensac’ was not declared in this scope 122 | if (use_degensac) | ^~~~ /home/artcs/Downloads/magsac-master/include/estimators.h: In member function ‘bool magsac::estimator::FundamentalMatrixEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::applyDegensac(int&, const cv::Mat&, const std::vector~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:176:30: error: request for member ‘descriptor’ in ‘model_’, which is of non-class type ‘int’ 176 | epipolarcross * model.descriptor; | ^~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:235:29: warning: there are no arguments to ‘sampleSize’ that depend on a template parameter, so a declaration of ‘sampleSize’ must be available [-fpermissive] 235 | for (size_t i = 0; i < sampleSize(); ++i) | ^~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:269:30: error: ‘squared_homography_threshold’ was not declared in this scope 269 | if (squared_residual < squared_homography_threshold) | ^~~~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:289:38: error: ‘HomographyEstimator’ in namespace ‘magsac::estimator’ does not name a template type 289 | static const magsac::estimator::HomographyEstimator< | ^~~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:301:11: error: ‘homography_estimator’ was not declared in this scope 301 | if (homographyestimator.squaredResidual(data.row(inlier_idx), best_homography) < squared_homography_threshold) | ^~~~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:301:90: error: ‘squared_homography_threshold’ was not declared in this scope 301 | (homographyestimator.squaredResidual(data.row(inlier_idx), best_homography) < squared_homography_threshold) | ^~~~~~~~~~~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:310:18: error: ‘Model’ was not declared in this scope; did you mean ‘gcransac::Model’? 310~~~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:320:23: error: request for member ‘size’ in ‘homographies’, which is of non-class type ‘int’ 320~~~~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h: In member function ‘double magsac::estimator::HomographyEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::residualForScoring(const cv::Mat&, const gcransac::Model&) const’: /home/artcs/Downloads/magsac-master/include/estimators.h:454:12: warning: there are no arguments to ‘residual’ that depend on a template parameter, so a declaration of ‘residual’ must be available [-fpermissive] 454~~~ /home/artcs/Downloads/magsac-master/src/main.cpp: In function ‘void testEssentialMatrixFitting(double, double, const string&, bool, double)’: /home/artcs/Downloads/magsac-master/src/main.cpp:430:48: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=] 430~~~~~~~~~~~^~~~ In file included from /home/artcs/Downloads/magsac-master/src/main.cpp:17: /home/artcs/Downloads/magsac-master/include/magsac.h: In instantiation of ‘bool MAGSAC<DatumType, ModelEstimator>::sigmaConsensusPlusPlus(const cv::Mat&, const gcransac::Model&, gcransac::Model&, ModelScore&, const ModelEstimator&, const ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::FundamentalMatrixEstimator<gcransac::estimator::solver::FundamentalMatrixSevenPointSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’: /home/artcs/Downloads/magsac-master/include/magsac.h:273:15: required from ‘bool MAGSAC<DatumType, ModelEstimator>::run(const cv::Mat&, double, ModelEstimator&, gcransac::sampler::Sampler<cv::Mat, long unsigned int>&, gcransac::Model&, int&, ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::FundamentalMatrixEstimator<gcransac::estimator::solver::FundamentalMatrixSevenPointSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’ /home/artcs/Downloads/magsac-master/src/main.cpp:539:8: required from here /home/artcs/Downloads/magsac-master/include/magsac.h:804:27: error: cannot convert ‘gcransac::Model’ to ‘int&’ 804~~~~~In file included from /home/artcs/Downloads/magsac-master/src/main.cpp:25: /home/artcs/Downloads/magsac-master/include/estimators.h:83:29: note: initializing argument 1 of ‘bool magsac::estimator::FundamentalMatrixEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::isValidModel(int&, const cv::Mat&, const std::vector&, const size_t*, double, bool&) const [with _MinimalSolverEngine = gcransac::estimator::solver::FundamentalMatrixSevenPointSolver; _NonMinimalSolverEngine = gcransac::estimator::solver::FundamentalMatrixEightPointSolver; sizet = long unsigned int]’
83 | bool isValidModel(Model& model,
|
~^~~~ /home/artcs/Downloads/magsac-master/include/estimators.h: In instantiation of ‘double magsac::estimator::EssentialMatrixEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::residualForScoring(const cv::Mat&, const gcransac::Model&) const [with _MinimalSolverEngine = gcransac::estimator::solver::EssentialMatrixFivePointSteweniusSolver; NonMinimalSolverEngine = gcransac::estimator::solver::FundamentalMatrixEightPointSolver]’: /home/artcs/Downloads/magsac-master/include/magsac.h:951:16: required from ‘void MAGSAC<DatumType, ModelEstimator>::getModelQuality(const cv::Mat&, const gcransac::Model&, const ModelEstimator&, double&, double&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::EssentialMatrixEstimator<gcransac::estimator::solver::EssentialMatrixFivePointSteweniusSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’ /home/artcs/Downloads/magsac-master/include/magsac.h:550:3: required from ‘bool MAGSAC<DatumType, ModelEstimator>::sigmaConsensus(const cv::Mat&, const gcransac::Model&, gcransac::Model&, ModelScore&, const ModelEstimator&, const ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::EssentialMatrixEstimator<gcransac::estimator::solver::EssentialMatrixFivePointSteweniusSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’ /home/artcs/Downloads/magsac-master/include/magsac.h:266:15: required from ‘bool MAGSAC<DatumType, ModelEstimator>::run(const cv::Mat&, double, ModelEstimator&, gcransac::sampler::Sampler<cv::Mat, long unsigned int>&, gcransac::Model&, int&, ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::EssentialMatrixEstimator<gcransac::estimator::solver::EssentialMatrixFivePointSteweniusSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>]’ /home/artcs/Downloads/magsac-master/src/main.cpp:401:8: required from here /home/artcs/Downloads/magsac-master/include/estimators.h:396:44: warning: ‘squaredSymmetricEpipolarDistance’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] 396 | return squaredSymmetricEpipolarDistance(point, model_.descriptor); |~~~~~~^~~~~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:396:44: note: declarations in dependent base ‘gcransac::estimator::EssentialMatrixEstimator<gcransac::estimator::solver::EssentialMatrixFivePointSteweniusSolver, gcransac::estimator::solver::FundamentalMatrixEightPointSolver>’ are not found by unqualified lookup /home/artcs/Downloads/magsac-master/include/estimators.h:396:44: note: use ‘this->squaredSymmetricEpipolarDistance’ instead /home/artcs/Downloads/magsac-master/include/estimators.h: In instantiation of ‘double magsac::estimator::HomographyEstimator<_MinimalSolverEngine, _NonMinimalSolverEngine>::residualForScoring(const cv::Mat&, const gcransac::Model&) const [with _MinimalSolverEngine = gcransac::estimator::solver::HomographyFourPointSolver; NonMinimalSolverEngine = gcransac::estimator::solver::HomographyFourPointSolver]’: /home/artcs/Downloads/magsac-master/include/magsac.h:951:16: required from ‘void MAGSAC<DatumType, ModelEstimator>::getModelQuality(const cv::Mat&, const gcransac::Model&, const ModelEstimator&, double&, double&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::HomographyEstimator<gcransac::estimator::solver::HomographyFourPointSolver, gcransac::estimator::solver::HomographyFourPointSolver>]’ /home/artcs/Downloads/magsac-master/include/magsac.h:550:3: required from ‘bool MAGSAC<DatumType, ModelEstimator>::sigmaConsensus(const cv::Mat&, const gcransac::Model&, gcransac::Model&, ModelScore&, const ModelEstimator&, const ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::HomographyEstimator<gcransac::estimator::solver::HomographyFourPointSolver, gcransac::estimator::solver::HomographyFourPointSolver>]’ /home/artcs/Downloads/magsac-master/include/magsac.h:266:15: required from ‘bool MAGSAC<DatumType, ModelEstimator>::run(const cv::Mat&, double, ModelEstimator&, gcransac::sampler::Sampler<cv::Mat, long unsigned int>&, gcransac::Model&, int&, ModelScore&) [with DatumType = cv::Mat; ModelEstimator = magsac::estimator::HomographyEstimator<gcransac::estimator::solver::HomographyFourPointSolver, gcransac::estimator::solver::HomographyFourPointSolver>]’ /home/artcs/Downloads/magsac-master/src/main.cpp:686:8: required from here /home/artcs/Downloads/magsac-master/include/estimators.h:454:20: warning: ‘residual’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] 454 | return residual(point, model_.descriptor); |~~^~~~~~~~~ /home/artcs/Downloads/magsac-master/include/estimators.h:454:20: note: declarations in dependent base ‘gcransac::estimator::RobustHomographyEstimator<gcransac::estimator::solver::HomographyFourPointSolver, gcransac::estimator::solver::HomographyFourPointSolver>’ are not found by unqualified lookup /home/artcs/Downloads/magsac-master/include/estimators.h:454:20: note: use ‘this->residual’ instead CMakeFiles/MAGSAC.dir/build.make:134: recipe for target 'CMakeFiles/MAGSAC.dir/src/main.cpp.o' failed make[2]: [CMakeFiles/MAGSAC.dir/src/main.cpp.o] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/MAGSAC.dir/all' failed make[1]: [CMakeFiles/MAGSAC.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2Can you give me some advice?
Thanks for your help !