ORB-SLAM3运行时出现“段错误(核心已转储)”解决方案

编译成功,运行时如下图


在ubuntu20上运行kitti双目数据集时:
在这里插入图片描述解决方案
这是由于Settings.cc文件中有逻辑错误,在重载输出流运算符时,当相机类型为stereo,且为Rectified,打印相机2参数会调用“originalCalib2_”),(cameraType_ == Rectified)在读取时并没有定义这个参数。
修改:

            output << ")" << ": [";
            for(size_t i = 0; i < settings.originalCalib2_->size(); i++){
                output << " " << settings.originalCalib2_->getParameter(i);
            }
            output << " ]" << endl;

修改为:

            if(settings.cameraType_ == Settings::PinHole)
            {
                output << ")" << ": [";
                for(size_t i = 0; i < settings.originalCalib2_->size(); i++){
                    output << " " << settings.originalCalib2_->getParameter(i);
                }
                output << " ]" << endl;
            }
            else if(settings.cameraType_ == Settings::Rectified)
            {
                output << ")" << ": [";
                for(size_t i = 0; i < settings.originalCalib1_->size(); i++){
                    output << " " << settings.originalCalib1_->getParameter(i);
                }
                output << " ]" << endl;
            }

版权声明:本文为qq_51294589原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。