C++opencv序列化通用
时间: 2023-06-30 17:24:57 浏览: 94
在 C++ 中,可以使用 OpenCV 库提供的 FileStorage 类对数据进行序列化和反序列化。FileStorage 类可以将数据存储为 XML、YAML 或 JSON 格式,并支持 OpenCV 中的各种数据类型。
以下是一个示例代码,将一个名为 "data.yml" 的文件中的数据读取出来并存储为一个字符串变量:
```c++
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
// 读取数据
FileStorage fs("data.yml", FileStorage::READ);
string str;
fs["str"] >> str;
fs.release();
// 输出数据
cout << "str = " << str << endl;
return 0;
}
```
可以使用以下代码将一个字符串变量保存到名为 "data.yml" 的文件中:
```c++
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
// 定义数据
string str = "Hello, world!";
// 存储数据
FileStorage fs("data.yml", FileStorage::WRITE);
fs << "str" << str;
fs.release();
return 0;
}
```
需要注意的是,存储和读取数据时需要使用相同的格式和变量名。
阅读全文