gpt4 book ai didi

c++ - OpenCV 相机标定

转载 作者:太空宇宙 更新时间:2023-11-03 22:58:47 26 4
gpt4 key购买 nike

我正在使用 Camera calibration With OpenCV 教程(http://docs.opencv.org/doc/tutorials/calib3d/camera_calibration/camera_calibration.html)。当我使用 .mp4 视频文件作为输入时,我的程序失败并给出此错误:解析错误 (): 有效的 XML 应该以 '') 开头 in icvXMLParse, file .......\opencv\modules\core\src\persistence.cpp, line 2252

谁能告诉我我做错了什么?

最佳答案

在示例 (camera_calibration.cpp) 中,对 readStringList 方法进行以下更改:

是:

static bool readStringList( const string& filename, vector<string>& l )
{
l.clear();
FileStorage fs(filename, FileStorage::READ);
if( !fs.isOpened() )
return false;

应该是:

static bool readStringList( const string& filename, vector<string>& l )
{
l.clear();
FileStorage fs;
try {
fs.open(filename, FileStorage::READ);
}
catch (...) {
return false;
}
if( !fs.isOpened() )
return false;

然后您可以使用视频文件名而不是 xml 输入文件,并且程序不会崩溃。如果输入文件不是 xml/yml,则 FileStorage 构造函数和 open 方法会抛出异常,需要捕获异常。

关于c++ - OpenCV 相机标定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23267658/

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