OpenMVG
Is the ceres I have installed already conflicting, or is it using a submodule version that is wrong?
[ 48%] Building CXX object openMVG/multiview/CMakeFiles/openMVG_multiview.dir/translation_averaging_solver_softl1.cpp.o
/home/lwalter/other/openMVG/src/openMVG/multiview/translation_averaging_solver_softl1.cpp: In function ‘bool openMVG::solve_translations_problem_softl1(const std::vector<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<double, 3, 1> > > >&, bool, int, std::vector<Eigen::Matrix<double, 3, 1> >&, double)’:
/home/lwalter/other/openMVG/src/openMVG/multiview/translation_averaging_solver_softl1.cpp:181:56: error: ‘EIGEN_SPARSE’ is not a member of ‘ceres’
ceres::IsSparseLinearAlgebraLibraryTypeAvailable(ceres::EIGEN_SPARSE))
^
/home/lwalter/other/openMVG/src/openMVG/multiview/translation_averaging_solver_softl1.cpp:199:16: error: ‘struct ceres::Solver::Summary’ has no member named ‘IsSolutionUsable’
if (!summary.IsSolutionUsable())
^
make[2]: *** [openMVG/multiview/CMakeFiles/openMVG_multiview.dir/translation_averaging_solver_softl1.cpp.o] Error 1
make[1]: *** [openMVG/multiview/CMakeFiles/openMVG_multiview.dir/all] Error 2
make: *** [all] Error 2
This is because it is finding Ceres 1.8 as installed in 1.8.0.
The easiest thing to do is remove the find_package
for ceres in src/CMakeLists.txt
.
The proper thing to do is to require Ceres have the required version that has EIGEN_SPARSE
in it.
(TBD actually do that and put in a merge request)
Try uninstalling ceres. That works.
Make a clean build dir, finding ceres 1.10 does work alonside apt-got 1.8.
Making documentation might be broken, confusion between ceres make_docs.py and mvg make_docs.py?
‘Disabling use of Eigen as a sparse linear algebra library’ do I want that?
SfM/tutorial_demo.py has to be run in the directory it is found in.
pmvs/cmvs
Use the github repo that provides a cmakelists.txt
pmvs2 looks to be fine to replace pmvs in example command line.
The output file was named pmvs_options.txt.ply, meshlab didn’t like it until renamed to pmvs_options.ply.
Tried taking some pictures and running sequential and global on it, it processed but no output files.
TBD add text output.
Questions
If I calibrate the camera myself (with a checkerboard and opencv) how do I pass that information to openmvg so it doesn’t have to figure it out, and doesn’t need sensor size?