OpenCV相机校准教程崩溃



遵循本教程:

我创建了一个XML配置文件和一个非对称圆网格图像列表,以运行相机校准C++示例。所有东西都在这里办理入住手续。

当我将板宽设置为5,高度设置为4时,我会得到以下错误:

terminate called after throwing an instance of 'cv::Exception'
what():  OpenCV(4.5.0-dev) /home/zero/opencv-master/modules/core/src/convert_c.cpp:112: error: (-215:Assertion failed) src.size == dst.size && src.channels() == dst.channels() in function 'cvConvertScale'

所有的图像都是完全相同的,使用树莓派相机按顺序拍摄。

当我将板宽设置为4,高度设置为3时,我得到的是:

terminate called after throwing an instance of 'cv::Exception'
what():  OpenCV(4.5.0-dev) /home/zero/opencv-master/modules/calib3d/src/circlesgrid.cpp:1524: error: (-215:Assertion failed) h >= 2 && w >= 2 in function 'getCornerSegments'

有人把这个样品拿到工作岗位上了吗?或者它坏得无可救药了吗?有人在OpenCV中创建了同样的问题,但从未解决:

https://github.com/opencv/opencv/issues/6503

我在原始帖子中链接的问题实际上在一段时间后得到了解决,并包含解决方案:

https://github.com/opencv/opencv/issues/6503

如果将config size_width和size_height设置为n-1和m-1(n是实际板大小中的列数,m是实际板尺寸中的行数(,则运行正常

问题是宽度和高度没有按照我假设的方式计算(不幸的是,从文档中不清楚它们是如何计算的(。

向所有发表评论的人道歉!

最新更新