c++ - 调用 cv::calibrateCamera() 失败

标签 c++ opencv

我试图从函数cv::calibrateCamera()获取cameraMatrix,实际上我不确定我是否做对了,我最初的想法是:

  1. 获取来自同一相机的两个输入图像。
  2. 提取 image_1 和 image_2 中的所有特征点
  3. 使用cv::calibrateCamera()获取cameraMatrix(不知道是否有效)

这是我的代码:

calling calibrateCamera()

编译进行得很好,但是当我运行它时,它抛出一个异常:

OpenCV Error: Assertion failed (i < 0) in create, file /home/hjbolide/OpenCV-2.3.1/modules/core/src/matrix.cpp, line 1198 terminate called after throwing an instance of 'cv::Exception'
what(): /home/hjbolide/OpenCV-2.3.1/modules/core/src/matrix.cpp:1198: error: (-215) i < 0 in function create

正如我所说,我只是尝试这种方法,并尝试从中获取cameraMatrix。不知道哪里出了问题。有什么建议吗?

非常感谢。

最佳答案

我也遇到了类似的问题。我从 Learning OpenCV 书中移植了一个 C 校准示例以使用 C++ 接口(interface),并且看到了您所看到的确切错误。我将 rvec 和 tvec 更改为 std::vector<cv::Mat>然后校准就开始工作了。请注意,2.3 文档将 rvec 和 tvec 都标记为 OutputArrayOfArrays。

关于c++ - 调用 cv::calibrateCamera() 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7382784/

相关文章:

python - Python:模糊图像中的特定区域

opencv - 在 nanoserver Docker 容器中使用 OpenCV 运行 .NET Core 2.0 C# 模块

c++ - Qt GUI 不能像我预期的那样与 std::thread 一起工作

c++ - 不存在从 "std::string"到 "const char *"的合适转换函数

python - 在 macOS 上使用 OpenMP 与 Cython 进行编译

C++ 将txt文件逐行读取到结构数组中的char数组中

c++ - Lua errorPANIC : unprotected error in call to Lua API (attempt to call a nil value)

c++ - 使用 openCV 和 fftw3 Visual Studio 2010 时出现链接器错误

c# - EMGU CV 2.4.9 人脸识别精度问题

c++ - 使用c++在opencv中将主要功能划分为其他功能