c++ - 运行 OpenCV_Sample 的 stereo_match.cpp

标签 c++ opencv ubuntu stereo-3d opencv3.1

我通过 g++ 编译器获得了“stereo_match”。

我的环境是:

  • VirtualBox 的 Ubuntu 15.1
  • OpenCV 3.1.0

不知道运行命令。我试过了:

./stereo_match --left left12.jpg --right right12.jpg --method BM --ndisp 32.

但它失败并出现错误:

OpenCV Error: Bad argument (undeclared position 0 requested) in getByIndex, file /home/usera/opencv-3.1.0/modules/core/src/command_line_parser.cpp line 169

terminate called after throwing an instance of 'cv::Exception'
what(): /home/usera/opencv-3.1.0/modules/core/src/command_line_parser.cpp:169: error: (-5) undeclared position 0 requested in function getByIndex

Aborted (core dumped)

最佳答案

这是由错误的解析器键字符串引起的。它缺少两个文件名的位置参数(最重要的参数!)

在“stereomatch.cpp”中,而不是:

cv::CommandLineParser parser(argc, argv,
    "{help h||}{algorithm||}{max-disparity|0|}{blocksize|0|}{no-display||}{scale|1|}{i||}{e||}{o||}{p||}");

它应该是:

cv::CommandLineParser parser(argc, argv,
    "{@image1||} {@image2||} {help h||}{algorithm||}{max-disparity|0|}{blocksize|0|}{no-display||}{scale|1|}{i||}{e||}{o||}{p||}");

小错误,可能是以前版本的遗留问题。

关于c++ - 运行 OpenCV_Sample 的 stereo_match.cpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36547594/

相关文章:

c++ - 如何模拟没有类的函数?

c++ - 为什么作为返回类型的右值引用不能初始化非常量引用?

python - 安装基于 pyproject.toml 的项目所需的错误 : Could not build wheels for pycairo,

python-2.7 - 使用 ubuntu 安装 Python 库

ubuntu - Hadoop 卡在 Ubuntu 14.04 上

c++ - 想要类型上的 constexpr 开关盒

c++ - jsoncpp中clear和arrayValue有什么区别

android - 从Android中的图像进行数字检测

python - Cv2 findChessboardCorners 无法找到角点

c++ - 如何将数组添加到 CvSeq 以及如何检索数组