学习C++时间不久,把学到的点点滴滴都记下来,用的时候方便查找,嘿嘿...
***这是存储一个Mat中的数据***
FILE *fp = NULL;
char *path = "E:\\data.dat";
fp = fopen(path, "wb");//wb存储
if(fp == NULL)
{
cout << "open file error!" << endl;
return -1;
}
//matrix是一个Mat,数据类型为CV_32FC1
int nSize = matrix.rows*matrix.cols*4; //存储的数据大小,单位字节
int nRet = fwrite(matrix.data, nSize, 1, fp);
if (nRet == 0)
{
cout<<"save data error!"<<endl;
}
if(fp)
{
fclose(fp);
fp = NULL;
}
cout<<"数据存储完毕!"<<endl;
***这是读取数据到一个Mat中***
FILE *fp = NULL;
char *path = "E:\\data.dat";
fp = fopen(path, "rb");//rb读取
if(fp == NULL)
{cout << "open file error!" << endl;return -1;}
Mat vSamples(nRow, nCol, CV_32FC1);
int nLength = nRow*nCols*4;//读取数据的大小,单位为字节
int ret = fread(trainSamples.data, nLehgth , 1, fp);
if(ret == 0)
{
cout<<"read data error!"<<endl;
}
if(fp)
{
fclose(fp);
fp = NULL;
}
cout<<"数据读取完毕!"<<endl;