C++ Opencv文件存储操作-无法打开:

C++ Opencv文件存储操作-无法打开:,c++,opencv,C++,Opencv,由于无法使用文件存储打开文件,我已经挣扎了一段时间:它是以下代码的一部分:\opencv\sources\samples\cpp\tutorial\u code\calib3d\camera\u calibration\camera\u calibration.cpp: FileStorage fs(inputSettingsFile, FileStorage::READ); // Read the settings if (!fs.isOpened()) { cout <<

由于无法使用文件存储打开文件,我已经挣扎了一段时间:它是以下代码的一部分:\opencv\sources\samples\cpp\tutorial\u code\calib3d\camera\u calibration\camera\u calibration.cpp:

FileStorage fs(inputSettingsFile, FileStorage::READ); // Read the settings
if (!fs.isOpened())
{
    cout << "Could not open the configuration file: \"" << inputSettingsFile << "\"" << endl;
    return -1;
}
FileStorage fs(输入设置文件,FileStorage::READ);//阅读设置
如果(!fs.isOpened())
{

实际上,我也遇到过同样的问题。经过一些检查后,我意识到cv::FileStorage的构造函数总是返回一个错误的指针(错误的Ptr)。实际上,同样的问题也发生在现有项目中的其他opencv库函数上,如imread

我刚刚通过选中以下选项修改符号文件缓存设置,解决了该错误:

Options -> Debugging -> Symbols -> Microsoft Symbol Servers

也许有人能对这种症状和治疗的奇怪问题给出一个清晰的解释。

也许是您在错误的库中使用的编译模式

如果编译模式为“调试”,则OpenCV库必须为调试版本,且仅为调试版本,不包括发布版本


所以试着检查编译配置文件。

我也遇到了同样的问题,直到我意识到构造函数不能使用READ标志。 所以我要做的是: -我使用带有falg APPEND的构造函数。如果我使用WRITE,文件的内容将被删除。
-然后我用READ标志打开并处理内容。

您有权读取文件吗?文件路径的扩展名是什么?文件路径是
“.xml”
“.yml”
”.yaml”
?请选择您帖子上的
编辑
按钮并回复我们。我认为您还没有足够的声誉发表评论。感谢所有回复。我检查了权限。扩展名为“.xml”验证权限。在此之前添加了几行常规cpp文件读取,它工作正常。但一旦涉及到该文件存储构造函数,然后检查它是否打开,它就失败了。当我找到解决方案时,我假设要编辑答案。现在我找到了。感谢您的麻烦和关注!
Options -> Debugging -> Symbols -> Microsoft Symbol Servers