我正在尝试从函数cv :: calibrateCamera()获取cameraMatrix,实际上我不确定我是否做得对,我最初的想法是:
这是我的代码:
编译进行得非常顺利,但是当我运行它时,它会抛出异常说:
OpenCV错误:在create,file中断言失败(i< 0) /home/hjbolide/OpenCV-2.3.1/modules/core/src/matrix.cpp,第1198行 抛出'cv :: Exception'的实例后终止被调用 what():/ home / hjbolide / OpenCV-2.3.1 / modules / core / src / matrix.cpp:1198: 错误:( - 215)i< 0在函数创建
正如我所说,我只是尝试这种方法,并尝试从中获取cameraMatrix。不知道哪里出错了。有什么建议吗?
非常感谢。
答案 0 :(得分:5)
我有类似的问题。我从Learning OpenCV书中移植了一个C校准示例以使用C ++接口,并且看到了您看到的确切错误。我将rvec和tvec更改为std::vector<cv::Mat>
,然后校准工作。请注意,2.3文档将rvec和tvec标记为OutputArrayOfArrays。