- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经校准了相机并获得了0.17的重新投影错误,该文件另存为camera.yml
。然后,我将此文件导入到aruco检测算法中,当我运行该算法时,一切正常,直到检测到aruco标记为止,但是,一旦检测到aruco标记,该代码将引发以下错误并停止运行。cv exception: OpenCV(3.4.2) error: (-215:Assertion failed) (((objectPoints) != __null && (((const CvMat*)(objectPoints))->type & 0xFFFF0000) == 0x42420000 && ((const CvMat*)(objectPoints))->cols > 0 && ((const CvMat*)(objectPoints))->rows > 0) && ((const CvMat*)(objectPoints))->data.ptr != __null) && (((imagePoints) != __null && (((const CvMat*)(imagePoints))->type & 0xFFFF0000) == 0x42420000 && ((const CvMat*)(imagePoints))->cols > 0 && ((const CvMat*)(imagePoints))->rows > 0) && ((const CvMat*)(imagePoints))->data.ptr != __null) && (((A) != __null && (((const CvMat*)(A))->type & 0xFFFF0000) == 0x42420000 && ((const CvMat*)(A))->cols > 0 && ((const CvMat*)(A))->rows > 0) && ((const CvMat*)(A))->data.ptr != __null) && (((rvec) != __null && (((const CvMat*)(rvec))->type & 0xFFFF0000) == 0x42420000 && ((const CvMat*)(rvec))->cols > 0 && ((const CvMat*)(rvec))->rows > 0) && ((const CvMat*)(rvec))->data.ptr != __null) && (((tvec) != __null && (((const CvMat*)(tvec))->type & 0xFFFF0000) == 0x42420000 && ((const CvMat*)(tvec))->cols > 0 && ((const CvMat*)(tvec))->rows > 0) && ((const CvMat*)(tvec))->data.ptr != __null) in function 'cvFindExtrinsicCameraParams2'
该错误是由于CV_Assert( CV_IS_MAT(objectPoints) && CV_IS_MAT(imagePoints) && CV_IS_MAT(A) && CV_IS_MAT(rvec) && CV_IS_MAT(tvec) );
可以在opencv / modules / calib3d / src / calibration.cpp的第996行(https://github.com/opencv/opencv/blob/3.4/modules/calib3d/src/calibration.cpp)中找到。
我知道Rvecs和TVecs是在校准文件的帮助下生成的。校准中的内容似乎格式不正确。
我有一个属于另一个摄像机的样本校准文件(sample.yml
)。当我在运行aruco检测算法时导入该文件时,它运行时没有任何错误。
这些文件的内容(以防您要比较它们)在此处提供:
camera.yml
:https://www.codepile.net/pile/mO4DGDOR sample.yml
:https://www.codepile.net/pile/5qBKoNP6 最佳答案
整个问题是两个文件之间的命名约定不一致。我将名称从sample.yml复制到camera.yml,它开始工作。有时解决方案就是这么简单。
关于c++ - 断言失败CV_Assert(CV_IS_MAT(objectPoints)&& CV_IS_MAT(imagePoints)&& CV_IS_MAT(A)&& CV_IS_MAT(rvec)&& CV_IS_MAT(tvec)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57717023/
我是一名优秀的程序员,十分优秀!