gaoxiang12 / slambook

MIT License
6.79k stars 3.25k forks source link

ch7/feature_extraction.cpp:23:49: error: too few arguments to function call, single argument 'name' was not specified #226

Closed PapaMadeleine2022 closed 4 years ago

PapaMadeleine2022 commented 4 years ago

Hello, when I compile ch7 codes using cmake and make, it shows error:

[  8%] Building CXX object CMakeFiles/feature_extraction.dir/feature_extraction.cpp.o
[ 16%] Building CXX object CMakeFiles/triangulation.dir/extra.cpp.o
[ 25%] Building CXX object CMakeFiles/triangulation.dir/triangulation.cpp.o
[ 33%] Building CXX object CMakeFiles/pose_estimation_2d2d.dir/pose_estimation_2d2d.cpp.o
[ 41%] Building CXX object CMakeFiles/pose_estimation_2d2d.dir/extra.cpp.o
[ 50%] Building CXX object CMakeFiles/pose_estimation_3d2d.dir/pose_estimation_3d2d.cpp.o
[ 58%] Building CXX object CMakeFiles/pose_estimation_3d3d.dir/pose_estimation_3d3d.cpp.o
/Users/gongzhenting/work/image/slam/book/slambook/ch7/feature_extraction.cpp:23:49: error: too few arguments to function call, single argument 'name' was not specified
    Ptr<FeatureDetector> detector = ORB::create();
                                    ~~~~~~~~~~~ ^
/usr/local/Cellar/opencv@2/2.4.13.7_3/include/opencv2/features2d/features2d.hpp:269:13: note: 'create' declared here
    CV_WRAP static Ptr<Feature2D> create( const string& name );
            ^
/Users/gongzhenting/work/image/slam/book/slambook/ch7/feature_extraction.cpp:24:55: error: too few arguments to function call, single argument 'name' was not specified
    Ptr<DescriptorExtractor> descriptor = ORB::create();
                                          ~~~~~~~~~~~ ^
/usr/local/Cellar/opencv@2/2.4.13.7_3/include/opencv2/features2d/features2d.hpp:269:13: note: 'create' declared here
    CV_WRAP static Ptr<Feature2D> create( const string& name );
            ^
/Users/gongzhenting/work/image/slam/book/slambook/ch7/triangulation.cpp:90:49: error: too few arguments to function call, single argument 'name' was not specified
    Ptr<FeatureDetector> detector = ORB::create();
                                    ~~~~~~~~~~~ ^
/usr/local/Cellar/opencv@2/2.4.13.7_3/include/opencv2/features2d/features2d.hpp:269:13: note: 'create' declared here
    CV_WRAP static Ptr<Feature2D> create( const string& name );
            ^
/Users/gongzhenting/work/image/slam/book/slambook/ch7/triangulation.cpp:91:55: error: too few arguments to function call, single argument 'name' was not specified
    Ptr<DescriptorExtractor> descriptor = ORB::create();
                                          ~~~~~~~~~~~ ^
/usr/local/Cellar/opencv@2/2.4.13.7_3/include/opencv2/features2d/features2d.hpp:269:13: note: 'create' declared here
    CV_WRAP static Ptr<Feature2D> create( const string& name );
            ^
/Users/gongzhenting/work/image/slam/book/slambook/ch7/triangulation.cpp:161:24: error: use of undeclared identifier 'findEssentialMat'
    essential_matrix = findEssentialMat ( points1, points2, focal_length, principal_point );
                       ^
/Users/gongzhenting/work/image/slam/book/slambook/ch7/pose_estimation_2d2d.cpp:79:49: error: too few arguments to function call, single argument 'name' was not specified
    Ptr<FeatureDetector> detector = ORB::create();
                                    ~~~~~~~~~~~ ^
/usr/local/Cellar/opencv@2/2.4.13.7_3/include/opencv2/features2d/features2d.hpp:269:13: note: 'create' declared here
    CV_WRAP static Ptr<Feature2D> create( const string& name );
            ^
/Users/gongzhenting/work/image/slam/book/slambook/ch7/pose_estimation_2d2d.cpp:80:55: error: too few arguments to function call, single argument 'name' was not specified
    Ptr<DescriptorExtractor> descriptor = ORB::create();
                                          ~~~~~~~~~~~ ^
/usr/local/Cellar/opencv@2/2.4.13.7_3/include/opencv2/features2d/features2d.hpp:269:13: note: 'create' declared here
    CV_WRAP static Ptr<Feature2D> create( const string& name );
            ^
2 errors generated.
/Users/gongzhenting/work/image/slam/book/slambook/ch7/pose_estimation_2d2d.cpp:160:24: error: use of undeclared identifier 'findEssentialMat'
    essential_matrix = findEssentialMat ( points1, points2, focal_length, principal_point );
                       ^
make[2]: *** [CMakeFiles/feature_extraction.dir/feature_extraction.cpp.o] Error 1
make[1]: *** [CMakeFiles/feature_extraction.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/Users/gongzhenting/work/image/slam/book/slambook/ch7/pose_estimation_2d2d.cpp:169:5: error: use of undeclared identifier 'recoverPose'
    recoverPose ( essential_matrix, points1, points2, R, t, focal_length, principal_point );
    ^
/Users/gongzhenting/work/image/slam/book/slambook/ch7/triangulation.cpp:170:5: error: use of undeclared identifier 'recoverPose'
    recoverPose ( essential_matrix, points1, points2, R, t, focal_length, principal_point );
    ^
4 errors generated.

how to fix it? looking forward your reply.

PapaMadeleine2022 commented 4 years ago

opencv4 solve above issue.