本文实例为大家分享了C++实现数据文件存储与加载的具体代码,供大家参考,具体内容如下
首先请先确认已经安装好了opencv3及以上版本。
1
2
3
4
5
|
#include <opencv2/opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
|
存储
then
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
int main()
{
//创造一些要存的数据先
string words = "hello, my guys!" ;
float n = 3.1415926;
Mat m = Mat::eye(3, 3, CV_32F);
//开始创建存储器
FileStorage save( "data.yml" , FileStorage::WRITE); // 你也可以使用xml格式
save << "words" << words;
save << "number" << n;
save << "matrix" << m;
save.release();
//存储完毕
cout << "finish storing" << endl;
|
加载
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//加载数据,类似Python字典的用法,创建加载器
FileStorage load( "data.yml" , FileStorage::READ);
float nn;
Mat mm;
string ww;
load[ "words" ] >> ww;
load[ "number" ] >> nn;
load[ "matrix" ] >> mm;
cout<< ww << endl << nn << endl << mm;
cout << endl << "That's the end" ;
load.release();
return 0;
}
|
完整代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#include <opencv2/opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
string words = "hello, my guys!" ;
float n = 3.1415926;
Mat m = Mat::eye(3, 3, CV_32F);
FileStorage save( "data.yml" , FileStorage::WRITE);
save << "words" << words;
save << "number" << n;
save << "matrix" << m;
save.release();
cout << "finish storing" << endl;
FileStorage load( "data.yml" , FileStorage::READ);
float nn;
Mat mm;
string ww;
load[ "words" ] >> ww;
load[ "number" ] >> nn;
load[ "matrix" ] >> mm;
cout<< ww << endl << nn << endl << mm;
cout << endl << "That's the end" ;
load.release();
return 0;
}
|
演示结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_38063935/article/details/91611062