cv::FileStorage读取yaml文件的写法
时间: 2023-07-18 17:42:04 浏览: 95
C++OpenCV3源代码XML和YAML文件的读取
以下是使用cv::FileStorage读取YAML文件的示例代码:
```
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
FileStorage fs("example.yaml", FileStorage::READ);
if (!fs.isOpened())
{
cerr << "Failed to open file!" << endl;
return -1;
}
// 读取数据
int num;
string str;
vector<float> vec;
fs["number"] >> num;
fs["string"] >> str;
fs["vector"] >> vec;
// 输出数据
cout << "number: " << num << endl;
cout << "string: " << str << endl;
cout << "vector: ";
for (size_t i = 0; i < vec.size(); i++)
{
cout << vec[i] << " ";
}
cout << endl;
fs.release();
return 0;
}
```
在上面的示例中,我们首先通过`cv::FileStorage`对象打开了一个名为`example.yaml`的文件,并检查了文件是否成功打开。然后,我们通过文件中的键名将数据读取到变量中。最后,我们输出了读取到的数据。请注意,我们在完成文件读取后调用了`release()`函数,以释放内存并关闭文件。
阅读全文