m0_68404612 2024-06-18 19:01 采纳率: 0%
浏览 10

SLAM十四讲ch13运行run_kitti_stereo报错

I0617 23:28:10.348150 D 7603 visual_odometry.cpp:44] vo is running
cerminate called after throwing an instance of 'cv::Exception'
what (): Opencv(3.4.7)/home/zb/slambook2/3rdparty/opencv-3.4.7/modules/video/src/lkpyramid.cpp:1228: error:(-215:Assertion failed) (npoints = prevPtsMat.che ckVector(2, CV_32F, true)) >= 0 in function 'calc'
Aborted (core dumped)

img

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-06-20 00:14
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题描述: 在运行过程中发生了异常,提示错误信息为OpenCV的Assertion failed,并给出了具体的代码行数和错误信息。最后程序非正常退出,核心已经被转储。 解答: 这个问题提示了运行时异常,并给出了错误的具体信息。根据提示,错误发生在Visual Odometry的程序中,线程在执行LK光流时发生了异常。具体的异常信息是:OpenCV中的Assertion failed。这个错误提示表示某个条件不满足导致了程序崩溃。 错误的具体信息是:(npoints = prevPtsMat.checkVector(2, CV_32F, true)) >= 0 。这个错误提示表示计算LK光流时,检查输入矩阵prevPtsMat的大小是否正确。 解决这个问题的方法是检查输入矩阵prevPtsMat是否为空或矩阵大小是否正确。我们可以使用OpenCV的函数来检查矩阵的大小和数据类型。例如,可以使用下面的代码来检查输入矩阵prevPtsMat的大小和数据类型: if (!prevPtsMat.empty() && prevPtsMat.isContinuous() && prevPtsMat.type() == CV_32F && prevPtsMat.checkVector(2) > 0) { // LK光流计算代码 } else { // 输入矩阵prevPtsMat的大小和数据类型不正确,需要处理异常 } 上面的代码中,我们首先检查矩阵prevPtsMat是否为空,接着使用函数isContinuous()检查矩阵是否是连续的数据空间,然后检查矩阵的数据类型是否是CV_32F,最后检查矩阵的尺寸是否正确。如果这些条件都满足,那么执行LK光流计算的代码。否则,我们需要处理异常,可能需要输出错误信息并结束程序。 案例: 在某个Visual Odometry程序中,运行过程中出现了类似于上述的异常信息,如下图所示: img 根据错误提示,可以发现问题是出在LK光流的计算上。利用OpenCV的debug功能,可以查看问题出现的代码,判断是哪个变量或指针在计算时出现了问题,比如下图所示的代码: img 根据代码可以发现,问题可能是出在输入矩阵prevPtsMat的大小或者数据类型上。因此,我们可以添加异常处理的代码,如下所示: if (!prevPtsMat.empty() && prevPtsMat.checkVector(2, CV_32F, true)) >= 0) { if (prevPtsMat.isContinuous()) {
      // LK光流计算代码 
    

    } else { cerr << "Error: input matrix is not continuous" << endl; exit(1); } } else { cerr << "Error: input matrix size is not correct" << endl; exit(1); } 在上面的代码中,我们首先判断输入矩阵prevPtsMat是否为空和尺寸大小是否正确。如果满足条件,我们继续检查矩阵是否是连续的数据空间。如果是,则继续执行LK光流计算。否则,我们输出错误信息并结束程序。 代码:

    评论

报告相同问题?

问题事件

  • 创建了问题 6月18日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见