Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv,读取用于相机校准的XML文件时出错_Xml_Opencv_Camera Calibration - Fatal编程技术网

Opencv,读取用于相机校准的XML文件时出错

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

我使用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"
"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中是否存在这种情况,但您可能需要避开反斜杠。非常感谢,我尝试了\和/但还有其他问题,在下面的回答中解决了!非常感谢!我错过了,但还有其他问题。非常感谢!我错过了,但也有其他问题。