YuvalNirkin / find_face_landmarks

C++ \ Matlab library for finding face landmarks and bounding boxes in video\image sequences.
144 stars 44 forks source link

Compilation failing #21

Open abhinavaggarwal018 opened 6 years ago

abhinavaggarwal018 commented 6 years ago

I was trying to do make in build folder and it is showing some error. The cmake logs are: -- The C compiler identification is GNU 4.8.4 -- The CXX compiler identification is GNU 4.9.4 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- 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 CMake Warning at /usr/local/share/OpenCV/OpenCVConfig.cmake:201 (message): opencv_face is required but was not found Call Stack (most recent call first): CMakeLists.txt:53 (find_package)

-- Boost version: 1.54.0 -- Found the following Boost libraries: -- filesystem -- program_options CMake Warning at CMakeLists.txt:70 (find_package): By not providing "Findprotobuf.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "protobuf", but CMake did not find one.

Could not find a package configuration file provided by "protobuf" with any of the following names:

protobufConfig.cmake
protobuf-config.cmake

Add the installation prefix of "protobuf" to CMAKE_PREFIX_PATH or set "protobuf_DIR" to a directory containing one of the above files. If "protobuf" provides a separate development package or SDK, be sure it has been installed.

-- Found Doxygen: /usr/bin/doxygen (found version "1.8.6") -- Could NOT find Matlab (missing: Matlab_INCLUDE_DIRS Matlab_MEX_LIBRARY Matlab_MEX_EXTENSION Matlab_ROOT_DIR MX_LIBRARY) -- Matlab interface won't be build. -- sequence_face_landmarks will be built without loading and saving support because protobuf is missing. -- sequence_face_landmarks will be built without LBP tracker because OpenCV Contrib is missing. -- sfl_cache won't be built because protobuf is missing. -- sfl_viewer won't be built because protobuf is missing. -- sfl_track won't be built because protobuf is missing. -- Configuring done -- Generating done -- Build files have been written to: /home/ubuntu/find_face_landmarks/build

The verbose logs make logs are: [ 20%] Building CXX object sequence_face_landmarks/CMakeFiles/sequence_face_landmarks.dir/sequence_face_landmarks.cpp.o [ 40%] Building CXX object sequence_face_landmarks/CMakeFiles/sequence_face_landmarks.dir/face_tracker_brisk.cpp.o /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp: In constructor ‘sfl::FaceTrackerBRISK::FaceTrackerBRISK()’: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:35:59: error: no matching function for call to ‘cv::BRISK::create()’ FaceTrackerBRISK() : m_desc_extractor(cv::BRISK::create()) ^ /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:35:59: note: candidate is: In file included from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:9:0: /usr/local/include/opencv2/features2d.hpp:213:35: note: static cv::Ptr cv::Feature2D::create(const cv::String&) CV_WRAP static Ptr create( const String& name ); ^ /usr/local/include/opencv2/features2d.hpp:213:35: note: candidate expects 1 argument, 0 provided /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp: In member function ‘std::unique_ptr sfl::FaceTrackerBRISK::createTrackedFace(const cv::Mat&, sfl::Face&, int)’: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_trackerbrisk.cpp:210:51: error: no match for ‘operator/’ (operand types are ‘cv::Point2f {aka cv::Point}’ and ‘float’) tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:210:51: note: candidates are: In file included from /usr/local/include/opencv2/core.hpp:57:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/mat.hpp:2327:20: note: cv::MatExpr cv::operator/(const cv::MatExpr&, const cv::MatExpr&) CVEXPORTS MatExpr operator / (const MatExpr& e1, const MatExpr& e2); ^ /usr/local/include/opencv2/core/mat.hpp:2327:20: note: no known conversion for argument 1 from ‘cv::Point2f {aka cv::Point}’ to ‘const cv::MatExpr&’ /usr/local/include/opencv2/core/mat.hpp:2326:20: note: cv::MatExpr cv::operator/(double, const cv::MatExpr&) CVEXPORTS MatExpr operator / (double s, const MatExpr& e); ^ /usr/local/include/opencv2/core/mat.hpp:2326:20: note: no known conversion for argument 1 from ‘cv::Point2f {aka cv::Point}’ to ‘double’ /usr/local/include/opencv2/core/mat.hpp:2325:20: note: cv::MatExpr cv::operator/(const cv::MatExpr&, double) CVEXPORTS MatExpr operator / (const MatExpr& e, double s); ^ /usr/local/include/opencv2/core/mat.hpp:2325:20: note: no known conversion for argument 1 from ‘cv::Point2f {aka cv::Point}’ to ‘const cv::MatExpr&’ /usr/local/include/opencv2/core/mat.hpp:2324:20: note: cv::MatExpr cv::operator/(const cv::Mat&, const cv::MatExpr&) CVEXPORTS MatExpr operator / (const Mat& m, const MatExpr& e); ^ /usr/local/include/opencv2/core/mat.hpp:2324:20: note: no known conversion for argument 1 from ‘cv::Point2f {aka cv::Point}’ to ‘const cv::Mat&’ /usr/local/include/opencv2/core/mat.hpp:2323:20: note: cv::MatExpr cv::operator/(const cv::MatExpr&, const cv::Mat&) CVEXPORTS MatExpr operator / (const MatExpr& e, const Mat& m); ^ /usr/local/include/opencv2/core/mat.hpp:2323:20: note: no known conversion for argument 1 from ‘cv::Point2f {aka cv::Point}’ to ‘const cv::MatExpr&’ /usr/local/include/opencv2/core/mat.hpp:2322:20: note: cv::MatExpr cv::operator/(double, const cv::Mat&) CVEXPORTS MatExpr operator / (double s, const Mat& a); ^ /usr/local/include/opencv2/core/mat.hpp:2322:20: note: no known conversion for argument 1 from ‘cv::Point2f {aka cv::Point}’ to ‘double’ /usr/local/include/opencv2/core/mat.hpp:2321:20: note: cv::MatExpr cv::operator/(const cv::Mat&, double) CVEXPORTS MatExpr operator / (const Mat& a, double s); ^ /usr/local/include/opencv2/core/mat.hpp:2321:20: note: no known conversion for argument 1 from ‘cv::Point2f {aka cv::Point}’ to ‘const cv::Mat&’ /usr/local/include/opencv2/core/mat.hpp:2320:20: note: cv::MatExpr cv::operator/(const cv::Mat&, const cv::Mat&) CVEXPORTS MatExpr operator / (const Mat& a, const Mat& b); ^ /usr/local/include/opencv2/core/mat.hpp:2320:20: note: no known conversion for argument 1 from ‘cv::Point2f {aka cv::Point}’ to ‘const cv::Mat&’ In file included from /usr/local/include/opencv2/core.hpp:56:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/types.hpp:1852:14: note: template cv::Scalar_<_Tp> cv::operator/(const cv::Scalar_<_Tp>&, const cv::Scalar_<_Tp>&) Scalar_<_Tp> operator / (const Scalar_<_Tp>& a, const Scalar_<_Tp>& b) ^ /usr/local/include/opencv2/core/types.hpp:1852:14: note: template argument deduction/substitution failed: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_trackerbrisk.cpp:210:89: note: ‘cv::Point2f {aka cv::Point}’ is not derived from ‘const cv::Scalar_<_Tp>’ tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ In file included from /usr/local/include/opencv2/core.hpp:56:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/types.hpp:1845:14: note: template cv::Scalar_<_Tp> cv::operator/(Tp, const cv::Scalar<_Tp>&) Scalar_<_Tp> operator / (Tp a, const Scalar<_Tp>& b) ^ /usr/local/include/opencv2/core/types.hpp:1845:14: note: template argument deduction/substitution failed: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_trackerbrisk.cpp:210:89: note: mismatched types ‘const cv::Scalar<_Tp>’ and ‘float’ tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ In file included from /usr/local/include/opencv2/core.hpp:56:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/types.hpp:1831:17: note: template cv::Scalar cv::operator/(const cv::Scalar&, double) Scalar operator / (const Scalar& a, double alpha) ^ /usr/local/include/opencv2/core/types.hpp:1831:17: note: template argument deduction/substitution failed: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:210:89: note: cannot convert ‘tracked_face.std::unique_ptr<_Tp, _Dp>::operator-><sfl::TrackedFaceBRISK, std::defaultdelete >()->sfl::TrackedFaceBRISK::pos’ (type ‘cv::Point2f {aka cv::Point}’) to type ‘const cv::Scalar_&’ tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ In file included from /usr/local/include/opencv2/core.hpp:56:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/types.hpp:1824:16: note: template cv::Scalar cv::operator/(const cv::Scalar&, float) Scalar operator / (const Scalar& a, float alpha) ^ /usr/local/include/opencv2/core/types.hpp:1824:16: note: template argument deduction/substitution failed: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:210:89: note: cannot convert ‘tracked_face.std::unique_ptr<_Tp, _Dp>::operator-><sfl::TrackedFaceBRISK, std::defaultdelete >()->sfl::TrackedFaceBRISK::pos’ (type ‘cv::Point2f {aka cv::Point}’) to type ‘const cv::Scalar_&’ tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ In file included from /usr/local/include/opencv2/core.hpp:56:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/types.hpp:1815:14: note: template cv::Scalar_<_Tp> cv::operator/(const cv::Scalar_<_Tp>&, Tp) Scalar<_Tp> operator / (const Scalar_<_Tp>& a, _Tp alpha) ^ /usr/local/include/opencv2/core/types.hpp:1815:14: note: template argument deduction/substitution failed: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_trackerbrisk.cpp:210:89: note: ‘cv::Point2f {aka cv::Point}’ is not derived from ‘const cv::Scalar_<_Tp>’ tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ In file included from /usr/local/include/opencv2/core.hpp:56:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/types.hpp:877:14: note: template cv::Complex<_Tp> cv::operator/(_Tp, const cv::Complex<_Tp>&) Complex<_Tp> operator / (_Tp b, const Complex<_Tp>& a) ^ /usr/local/include/opencv2/core/types.hpp:877:14: note: template argument deduction/substitution failed: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:210:89: note: mismatched types ‘const cv::Complex<_Tp>’ and ‘float’ tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ In file included from /usr/local/include/opencv2/core.hpp:56:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/types.hpp:870:14: note: template cv::Complex<_Tp> cv::operator/(const cv::Complex<_Tp>&, _Tp) Complex<_Tp> operator / (const Complex<_Tp>& a, _Tp b) ^ /usr/local/include/opencv2/core/types.hpp:870:14: note: template argument deduction/substitution failed: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_trackerbrisk.cpp:210:89: note: ‘cv::Point2f {aka cv::Point}’ is not derived from ‘const cv::Complex<_Tp>’ tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ In file included from /usr/local/include/opencv2/core.hpp:56:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/types.hpp:856:14: note: template cv::Complex<_Tp> cv::operator/(const cv::Complex<_Tp>&, const cv::Complex<_Tp>&) Complex<_Tp> operator / (const Complex<_Tp>& a, const Complex<_Tp>& b) ^ /usr/local/include/opencv2/core/types.hpp:856:14: note: template argument deduction/substitution failed: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_trackerbrisk.cpp:210:89: note: ‘cv::Point2f {aka cv::Point}’ is not derived from ‘const cv::Complex<_Tp>’ tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ In file included from /usr/local/include/opencv2/core.hpp:55:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/matx.hpp:1329:14: note: template<class _Tp, int cn> cv::Vec<_Tp, m> cv::operator/(const cv::Vec<_Tp, m>&, double) Vec<_Tp, cn> operator / (const Vec<_Tp, cn>& a, double alpha) ^ /usr/local/include/opencv2/core/matx.hpp:1329:14: note: template argument deduction/substitution failed: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_trackerbrisk.cpp:210:89: note: ‘cv::Point2f {aka cv::Point}’ is not derived from ‘const cv::Vec<_Tp, m>’ tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ In file included from /usr/local/include/opencv2/core.hpp:55:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/matx.hpp:1323:14: note: template<class _Tp, int cn> cv::Vec<_Tp, m> cv::operator/(const cv::Vec<_Tp, m>&, float) Vec<_Tp, cn> operator / (const Vec<_Tp, cn>& a, float alpha) ^ /usr/local/include/opencv2/core/matx.hpp:1323:14: note: template argument deduction/substitution failed: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_trackerbrisk.cpp:210:89: note: ‘cv::Point2f {aka cv::Point}’ is not derived from ‘const cv::Vec<_Tp, m>’ tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ In file included from /usr/local/include/opencv2/core.hpp:55:0, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/sequence_face_landmarks.h:10, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/sfl/face_tracker.h:5, from /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_tracker_brisk.cpp:1: /usr/local/include/opencv2/core/matx.hpp:1317:14: note: template<class _Tp, int cn> cv::Vec<_Tp, m> cv::operator/(const cv::Vec<_Tp, m>&, int) Vec<_Tp, cn> operator / (const Vec<_Tp, cn>& a, int alpha) ^ /usr/local/include/opencv2/core/matx.hpp:1317:14: note: template argument deduction/substitution failed: /home/ubuntu/find_face_landmarks/sequence_face_landmarks/face_trackerbrisk.cpp:210:89: note: ‘cv::Point2f {aka cv::Point}’ is not derived from ‘const cv::Vec<_Tp, m>’ tracked_face->pos = tracked_face->pos / (float)tracked_face->landmarks.size(); ^ make[2]: [sequence_face_landmarks/CMakeFiles/sequence_face_landmarks.dir/face_tracker_brisk.cpp.o] Error 1 make[1]: [sequence_face_landmarks/CMakeFiles/sequence_face_landmarks.dir/all] Error 2 make: *** [all] Error 2

Can you please help in figuring out the issue here?