C++数据文件存储与加载(利用opencv)
首先请先确认已经安装好了opencv3及以上版本。
#include <opencv2/opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
1
2
3
4
5
存储
then
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
加载
//加载数据,类似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
完整代码
#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(http://www.my516.com);
    return 0;
}
--------------------- 
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号