gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 00:45:10 26 4
gpt4 key购买 nike

我试图从函数 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。不知道哪里出了问题。有什么建议吗?

非常感谢。

最佳答案

我遇到了类似的问题。我从学习 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com