cv::FileStorage 读取yaml文件 代码
时间: 2023-05-11 22:05:02 浏览: 103
可以使用以下代码读取yaml文件:
```
cv::FileStorage fs("path/to/file.yaml", cv::FileStorage::READ);
if (!fs.isOpened()) {
std::cerr << "Failed to open file!" << std::endl;
return;
}
cv::Mat matrix;
fs["matrix"] >> matrix;
```
其中,`path/to/file.yaml` 是你要读取的yaml文件的路径,`cv::Mat` 是OpenCV中的矩阵类型,你可以根据你的需要修改读取的数据类型。
相关问题
用cv::FileStorage读取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()`函数,以释放内存并关闭文件。
cv::FileStorage读取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()`函数,以释放内存并关闭文件。