欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

视觉SLAM十四讲 第九讲前端实践 运行报错核心已转储

程序员文章站 2024-03-24 23:48:22
...

在学习十四讲第九讲前端实践中,project0.2版本,编译可以通过,运行时发现一直报错 段错误(核心已转储)。
debug后发现问题出在初始化阶段,在函数

void VisualOdometry::extractKeyPoints()
{
    orb_->detect ( curr_->color_, keypoints_curr_ );
}

中,keypoints_curr_的长度始终是0,无法提取到有效的关键点,输入的curr_->color_正常,于是将这段提取特征点的代码更换成第七章的代码

void VisualOdometry::extractKeyPoints()
{
    // orb_->detect(curr_->color_, keypoints_curr_);
    cv::Ptr<cv::FeatureDetector> detector = cv::ORB::create(); 
    detector->detect(curr_->color_, keypoints_curr_);
}

再次编译运行,发现结果正常了。
但是按照slambook的代码编译后运行是没有这个错误的,所以问题的具体原因还要再仔细分析。