hengli / camodocal

CamOdoCal: Automatic Intrinsic and Extrinsic Calibration of a Rig with Multiple Generic Cameras and Odometry
Other
1.16k stars 389 forks source link

CMakeFiles/camodocal_features2d.dir/ORBGPU.cc.o:在函数‘camodocal::ORBGPU::ORBGPU(int, float, int, int, int, int, int, int)’中 #113

Open dinghong1125 opened 2 years ago

dinghong1125 commented 2 years ago

CMakeFiles/camodocal_features2d.dir/ORBGPU.cc.o:在函数‘camodocal::ORBGPU::ORBGPU(int, float, int, int, int, int, int, int)’中: ORBGPU.cc:(.text+0x108):对‘cv::cuda::ORB::create(int, float, int, int, int, int, int, int, int, bool)’未定义的引用 CMakeFiles/camodocal_features2d.dir/SurfGPU.cc.o:在函数‘camodocal::SurfGPU::SurfGPU(double, int, int, bool, float)’中: SurfGPU.cc:(.text+0x96):对‘cv::cuda::DescriptorMatcher::createBFMatcher(int)’未定义的引用 collect2: error: ld returned 1 exit status src/features2d/CMakeFiles/camodocal_features2d.dir/build.make:165: recipe for target 'lib/libcamodocal_features2d.so' failed make[2]: [lib/libcamodocal_features2d.so] Error 1 CMakeFiles/Makefile2:1233: recipe for target 'src/features2d/CMakeFiles/camodocal_features2d.dir/all' failed make[1]: [src/features2d/CMakeFiles/camodocal_features2d.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2

Billy-Mazotti commented 2 years ago

@dinghong1125 I believe I'm getting the same issue (see output from "make" after "cmake -DCMAKE_BUILD_TYPE=Release .. ").


USERNAME@USERNAME-GS66-Stealth-10SE:~/camodocal/build$ make [ 3%] Built target camodocal_sparse_graph [ 48%] Built target ceres [ 53%] Built target agast [ 54%] Built target camodocal_brisk [ 56%] Built target camodocal_gpl [ 60%] Built target camodocal_camera_models [ 60%] Building CXX object src/features2d/CMakeFiles/camodocal_features2d.dir/ORBGPU.cc.o In file included from /home/USERNAME/camodocal/src/features2d/ORBGPU.h:33:0, from /home/USERNAME/camodocal/src/features2d/ORBGPU.cc:1: /usr/include/opencv2/xfeatures2d.hpp:247:103: error: expected ‘;’ at end of member declaration oid compute( InputArray image, std::vector& keypoints, OutputArray descriptors ) CV_OVERRIDE = 0; ^ /usr/include/opencv2/xfeatures2d.hpp:247:105: error: ‘CV_OVERRIDE’ does not name a type; did you mean ‘CV_VERSION’? d compute( InputArray image, std::vector& keypoints, OutputArray descriptors ) CV_OVERRIDE = 0; ^~~ CV_VERSION /usr/include/opencv2/xfeatures2d.hpp:251:59: error: expected ‘;’ at end of member declaration OutputArrayOfArrays descriptors ) CV_OVERRIDE; ^ /usr/include/opencv2/xfeatures2d.hpp:251:61: error: ‘CV_OVERRIDE’ does not name a type; did you mean ‘CV_VERSION’? OutputArrayOfArrays descriptors ) CV_OVERRIDE; ^~~ CV_VERSION /usr/include/opencv2/xfeatures2d.hpp:998:92: error: ‘cv::FastFeatureDetector::DetectorType’ has not been declared int threshold, bool nonmaxSuppression=true, cv::FastFeatureDetector::DetectorType type=FastFeatureDetector::TYPE_9_16); ^~~~ src/features2d/CMakeFiles/camodocal_features2d.dir/build.make:62: recipe for target 'src/features2d/CMakeFiles/camodocal_features2d.dir/ORBGPU.cc.o' failed make[2]: [src/features2d/CMakeFiles/camodocal_features2d.dir/ORBGPU.cc.o] Error 1 CMakeFiles/Makefile2:1232: recipe for target 'src/features2d/CMakeFiles/camodocal_features2d.dir/all' failed make[1]: [src/features2d/CMakeFiles/camodocal_features2d.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2


Where you able to resolve this?

dinghong1125 commented 2 years ago

@dinghong1125我相信我遇到了同样的问题(请参阅“cmake -DCMAKE_BUILD_TYPE=Release ..”之后的“make”输出)。

USERNAME@USERNAME-GS66-Stealth-10SE:~/camodocal/build$ make [ 3%] 构建目标 camodocal_sparse_graph [ 48%] 构建目标 ceres [ 53%] 构建目标 agast [ 54%] 构建目标 camodocal_brisk [ 56%] 构建target camodocal_gpl [ 60%] 构建目标 camodocal_camera_models [ 60%] 构建 CXX 对象 src/features2d/CMakeFiles/camodocal_features2d.dir/ORBGPU.cc.o 在 /home/USERNAME/camodocal/src/features2d/ORBGPU.h 包含的文件中: 33:0, 来自/home/USERNAME/camodocal/src/features2d/ORBGPU.cc:1:/usr/include/opencv2/xfeatures2d.hpp:247:103 :错误:预期的';' 在成员声明结束时 oid compute(InputArray image, std::vector& keypoints, OutputArray 描述符) CV_OVERRIDE = 0; ^ /usr/include/opencv2/xfeatures2d.hpp:247:105:错误:“CV_OVERRIDE”没有命名类型;你的意思是“CV_VERSION”吗? d 计算(InputArray 图像,std::vector& 关键点,OutputArray 描述符)CV_OVERRIDE = 0; ^~~ CV_VERSION /usr/include/opencv2/xfeatures2d.hpp:251:59: 错误: 预期';' 在成员声明的 末尾 OutputArrayOfArrays 描述符 ) CV_OVERRIDE; ^ /usr/include/opencv2/xfeatures2d.hpp:251:61: 错误:'CV_OVERRIDE' 没有命名类型;你的意思是“CV_VERSION”吗? OutputArrayOfArrays 描述符 ) CV_OVERRIDE; ^~~ CV_VERSION /usr/include/opencv2/xfeatures2d.hpp:998:92: error: 'cv::FastFeatureDetector::DetectorType' 没有被声明 int 阈值,bool nonmaxSuppression=true,cv::FastFeatureDetector::DetectorType type=FastFeatureDetector::TYPE_9_16); ^~~~ src/features2d/CMakeFiles/camodocal_features2d.dir/build.make:62:目标'src/features2d/CMakeFiles/camodocal_features2d.dir/ORBGPU.cc.o'的配方失败 了[2]: [src/features2d/CMakeFiles/camodocal_features2d.dir/ORBGPU.cc.o] 错误 1​​CMakeFiles/Makefile2:1232: 目标 'src/features2d/CMakeFiles/camodocal_features2d.dir/all' 的配方 失败[1]: [src/features2d/CMakeFiles/camodocal_features2d.dir/all] 错误 2 Makefile:140: 目标“所有”的配方失败 make: *** [all] 错误 2

你能在哪里解决这个问题?

Sorry, I didn't solve the problem. Finally I used ROS to calibrate my camera.

Billy-Mazotti commented 2 years ago

Thanks for the response! Did you use ROS to calibrate your camera's extrinsic parameters? If so would you mind pointing me towards whatever resource(s) you used?

dinghong1125 commented 2 years ago

The ROS package I use is image_pipeline to calibrate my stereo camera. It's very convenient. http://wiki.ros.org/image_pipeline You can type in at the terminal “rosrun camera_calibration cameracalibrator.py --approximate 0.1 --size 6x8 --square 0.100 left:=/camera/left/image_raw right:=/camera/right/image_raw --no-service-check”. Topic and board parameters need to be adjusted. Stereo camera needs to have a public view.(I don't have a good method for stereo camera or multi camera calibration without public view.) The calibrated file package is stored in the TMP folder.

dinghong1125 commented 1 year ago

The ROS package I use is image_pipeline to calibrate my stereo camera. It's very convenient. http://wiki.ros.org/image_pipeline You can type in at the terminal “rosrun camera_calibration cameracalibrator.py --approximate 0.1 --size 6x8 --square 0.100 left:=/camera/left/image_raw right:=/camera/right/image_raw  --no-service-check”.  Topic and board parameters need to be adjusted. Stereo camera needs to have a public view.(I don't have a good method for stereo camera or multi camera calibration without public view.) The calibrated file package is stored in the TMP folder.

------------------ 原始邮件 ------------------ 发件人: "hengli/camodocal" @.>; 发送时间: 2022年5月26日(星期四) 晚上11:53 @.>; @.**@.>; 主题: Re: [hengli/camodocal] CMakeFiles/camodocal_features2d.dir/ORBGPU.cc.o:在函数‘camodocal::ORBGPU::ORBGPU(int, float, int, int, int, int, int, int)’中 (Issue #113)

Thanks for the response! Did you use ROS to calibrate your camera's extrinsic parameters? If so would you mind pointing me towards whatever resource(s) you used?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>