Opencv,读取用于相机校准的XML文件时出错
我使用opencv提供的相机校准。 我已经编辑了设置文件以包含我自己的目录,它如下所示:Opencv,读取用于相机校准的XML文件时出错,xml,opencv,camera-calibration,Xml,Opencv,Camera Calibration,我使用opencv提供的相机校准。 我已经编辑了设置文件以包含我自己的目录,它如下所示: <?xml version="1.0"?> <opencv_storage> <images> "20170720_024951.jpg" "20170720_025001.jpg" "20170720_025014.jpg" "20170720_025023.jpg" "20170720_025034.jpg" "20170720_025048.jpg" "201707
<?xml version="1.0"?>
<opencv_storage>
<images>
"20170720_024951.jpg"
"20170720_025001.jpg"
"20170720_025014.jpg"
"20170720_025023.jpg"
"20170720_025034.jpg"
"20170720_025048.jpg"
"20170720_025103.jpg"
"20170720_025115.jpg"
"20170720_025124.jpg"
"20170720_025133.jpg"
"20170720_025147.jpg"
"20170720_025155.jpg"
"20170720_025211.jpg"
</images>
“20170720_024951.jpg”
“20170720_025001.jpg”
“20170720_025014.jpg”
“20170720_02523.jpg”
“20170720_025034.jpg”
“20170720_025048.jpg”
“20170720_025103.jpg”
“20170720_025115.jpg”
“20170720_025124.jpg”
“20170720_025133.jpg”
“20170720_025147.jpg”
“20170720_025155.jpg”
“20170720_025211.jpg”
我正在提供完整的映像路径,但出现以下错误:
检测到无效输入。应用程序停止
下面是我得到错误的代码部分:
Settings s;
const string inputSettingsFile = "C:/Users/user/Documents/Visual Studio 2013/Projects/calibration/x.xml";
FileStorage fs(inputSettingsFile, FileStorage::READ); // Read the settings
if (!fs.isOpened())
{
cout << "Could not open the configuration file: \"" << inputSettingsFile << "\"" << endl;
return -1;
}
fs["Settings"] >> s;
fs.release(); // close Settings file
//! [file_read]
//FileStorage fout("settings.yml", FileStorage::WRITE); // write config as YAML
//fout << "Settings" << s;
if (!s.goodInput)
{
cout << "Invalid input detected. Application stopping. " << endl;
return -1;
}
Settings;
const string inputSettingsFile=“C:/Users/user/Documents/Visual Studio 2013/Projects/calibration/x.xml”;
文件存储fs(输入设置文件,文件存储::读取);//阅读设置
如果(!fs.isOpened())
{
库特;
fs.release();//关闭设置文件
//![文件读取]
//FileStorage fout(“settings.yml”,FileStorage::WRITE);//将配置写为YAML
//fout文件结尾处似乎缺少
。您需要关闭标记才能使XML有效。文件结尾处似乎缺少
。您需要关闭标记才能使XML有效。确定问题已解决:
关于第二个问题
OpenCV错误:解析错误(C:/Users/user/Documents/Visual Studio)
2013/Projects/calebration/x.xml(1):属性值应放入
icvXMLParseTag文件中的单引号或双引号)
C:\builds\master\u PackSlave-win64-vc12-shared\opencv\modules\core\src\persistence.cpp,
第2157行
事实证明,指向我的图像的路径包含空格,因此,通过将图像移动到另一个不包含空格的目录,可以简单地解决这个问题
对于第一个问题,我完全是个傻瓜!
要使用代码,您需要两个xml文件!
第一个是校准设置的放置位置(例如,您是否使用棋盘、圆圈网格或任何东西,以及您使用的棋盘的大小,以及图像所在的第二个xml目录等)。
在第二个xml文件中插入图像,如我的问题所示。确定问题已解决:
关于第二个问题
OpenCV错误:解析错误(C:/Users/user/Documents/Visual Studio)
2013/Projects/calebration/x.xml(1):属性值应放入
icvXMLParseTag文件中的单引号或双引号)
C:\builds\master\u PackSlave-win64-vc12-shared\opencv\modules\core\src\persistence.cpp,
第2157行
事实证明,指向我的图像的路径包含空格,因此,通过将图像移动到另一个不包含空格的目录,可以简单地解决这个问题
对于第一个问题,我完全是个傻瓜!
要使用代码,您需要两个xml文件!
第一个是校准设置的放置位置(例如,您是否使用棋盘、圆圈网格或任何东西,以及您使用的棋盘的大小,以及图像所在的第二个xml目录等)。
在第二个xml文件中插入图像,如我的问题中所示。我也有同样的问题,只需删除目录路径中的空格,就可以了
C:/Users/user/Documents/Visual Studio 2013/Projects/calebration/x.xml
应该是:
C:/Users/user/Documents/Visual_Studio_2013/Projects/calebration/x.xml我也遇到了同样的问题,只要删除目录路径中的空格就可以了
C:/Users/user/Documents/Visual Studio 2013/Projects/calebration/x.xml
应该是:
C:/Users/user/Documents/Visual_Studio_2013/Projects/calebration/x.xml您是否尝试过使用反斜杠\而不是斜杠/??不确定在xml中是否是这样,但您可能需要避开反斜杠谢谢您,我已经尝试了\和/但还有其他问题,在下面的回答中解决了!您是否尝试过使用反斜杠\而不是斜杠斜杠/??不确定xml中是否存在这种情况,但您可能需要避开反斜杠。非常感谢,我尝试了\和/但还有其他问题,在下面的回答中解决了!非常感谢!我错过了,但还有其他问题。非常感谢!我错过了,但也有其他问题。