《一起做RGB-D SLAM》(3)遇到的问题

**

《一起做RGB-D SLAM》(3)遇到的问题

**
1.SIFI特征点,没有nonfree.hpp模块
解决:下载安装与opencv对应的opencv-contrib,看别人教程说得与opencv同时编译,所以首先得把之前的opencv删除。删除网上教程比较多,这里不详细贴出。
opencv3.2+opencv_contrib3.2 安装参考:opencv3.2+opencv_contrib3.2
注意:高翔博士在github上的源代码更新成不需要使用SIFI特征点,也就不需要安装opencv_contrib模块。如果不需要用到,可以选择不安装,因为安装过程会有很多error!本人大约用了一天时间~才成功,但是目前也没有用到(因为我到后面才看到高博写的更新。。。)。
2.按照高博教程,cmake工程后,make出现fatal error:slamBase.h no such file or directory 没有那个文件或目录
解决:我犯了一个很弱智的错误!难怪上网搜都找不到解决方法。slamBase.h文件程序写错了。。。具体是PointCloud::Ptr image2PointCloud(cv::Mat& rgb,cv::Mat& depth,CAMERA_INTRINSIC_PARAMETERS& camera);中有一个“&”打成"$"。
3.出现error: ‘create’ is not a member of ‘cv::FeatureDetector {aka cv::Feature2D}’
解决:这是因为高博用的opencv2,我用的是opencv3。我把原来的代码修改如下,就可以顺利运行了。

cv::Ptr<cv::ORB> detector;   
    // 如果使用 sift, surf ,之前要初始化nonfree模块
    // cv::initModule_nonfree();
    // _detector = cv::FeatureDetector::create( "SIFT" );
    // _descriptor = cv::DescriptorExtractor::create( "SIFT" ); 
    detector = cv::ORB::create();
    vector< cv::KeyPoint > kp1, kp2; //关键点
    detector->detect( rgb1, kp1 );  //提取关键点
    detector->detect( rgb2, kp2 );
        
        // 计算描述子
    cv::Mat desp1, desp2;
    detector->compute( rgb1, kp1, desp1 );
    detector->compute( rgb2, kp2, desp2 );

4.最后计算两个图像的运动时,又又又出错了,出现opencv-3.2/modules/calib3d/src/ptsetreg.cpp:178: error: (-215) confidence > 0 && confidence < 1 in function run。
解决:网上搜只用改detectFeatures.cpp文件的一个地方就可以了

// 求解pnp
    cv::solvePnPRansac( pts_obj, pts_img, cameraMatrix, cv::Mat(), rvec, tvec, false, 100, 1.0, 0.99, inliers );

最后终于运行成功了,图片就不放了,网上都一样的。总之,遇到bug要不放弃,坚持google。我的第一篇笔记就结束了。
附上opencv3.2和对应版本的opencv_contrib下载链接opencv3.2及opencv_contrib下载

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
RGB-D SLAM是一种同时定位与地图构建(Simultaneous Localization and Mapping)的技术,它利用RGB-D图像来实现对环境的感知和建模。RGB-D图像由RGB图像和深度图像组成,其中RGB图像提供了颜色信息,深度图像则提供了物体距离传感器的实际距离信息。通过将RGB图像和深度图像进行配准,可以实现像素级别的对应关系。RGB-D SLAM可以通过对连续的RGB-D图像进行处理,实时地估计相机的运动轨迹,并同时构建环境的三维地图。 在RGB-D SLAM中,有多种算法和系统可供选择。例如,RGBDSLAM2是一个非常全面优秀的系统,它将SLAM领域的图像特征、优化、闭环检测、点云等技术融为一体,适合初学者使用并可以进行二次开发。然而,RGBDSLAM2的实时性较差,相机必须以较慢的速度运动,并且使用点云来表示三维地图会消耗较多的内存。此外,还有其他的RGB-D SLAM算法和系统可供选择,具体选择哪种算法和系统取决于具体的应用需求和硬件条件。 引用\[1\]中提到了RGB-D图像的组成和配准过程,引用\[2\]中提到了RGB双目相机的特点和限制,引用\[3\]中提到了RGBDSLAM2系统的特点和缺点。这些引用内容提供了关于RGB-D SLAM的基本概念和相关技术的信息。 #### 引用[.reference_title] - *1* [SLAM(二)——RGB-D的含义](https://blog.csdn.net/u013401766/article/details/78671939)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [RGBD-SLAM总结](https://blog.csdn.net/YOULANSHENGMENG/article/details/124141028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [RGB-D SLAM 相关总结](https://blog.csdn.net/qq_38167930/article/details/118879187)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值