本文共 1923 字,大约阅读时间需要 6 分钟。
//创建或续写目录下的csv文件,填写“文件位置-分类”对 int writeCsv(const string& filename,const Vector<pair<string,string>>srcVect,char separator ){ ofstream file(filename.c_str(),ofstream::app); for (int i=0;i<srcVect.size();i++){ file<<srcVect[i].first<<separator<<srcVect[i].second<<endl; } //读取目录下的csv文件,获得“文件位置-分类”对 vector<pair<string,string>> readCsv(const string& filename, char separator) { pair<string,string> apair; string line, path, classlabel; vector<pair<string,string>> retVect; ifstream file(filename.c_str(), ifstream::in); while (getline(file, line)) { stringstream liness(line); getline(liness, path, separator); getline(liness, classlabel); if(!path.empty() && !classlabel.empty()) { apair.second = classlabel; retVect.push_back(apair); }
csv文件是最为简单的带格式文件。这种格式在opencv的人脸识别教程中得到了使用,这里是扣的它的代码。 CString GetInitString( CString Name1 ,CString Name2){ GetModuleFileName(NULL, csCfgFilePath.GetBufferSetLength(MAX_PATH+1), MAX_PATH); csCfgFilePath.ReleaseBuffer(); int nPos = csCfgFilePath.ReverseFind ('\\'); csCfgFilePath = csCfgFilePath.Left (nPos); csCfgFilePath += "\\Config" ; BOOL br = GetPrivateProfileString(Name1,Name2 ,"0",c, 100 , csCfgFilePath) ; void WriteInitString( CString Name1 ,CString Name2 ,CString strvalue){ GetModuleFileName(NULL, csCfgFilePath.GetBufferSetLength(MAX_PATH+1), MAX_PATH); csCfgFilePath.ReleaseBuffer(); int nPos = csCfgFilePath.ReverseFind ('\\'); csCfgFilePath = csCfgFilePath.Left (nPos); csCfgFilePath += "\\Config" ; BOOL br = WritePrivateProfileString(Name1 ,Name2 ,strvalue ,csCfgFilePath) ; } 这两个函数主要是用来保存和修改配置文件的。通过直接将配置文件写入.ini中达到这个目标。 目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com
转载地址:http://oayqa.baihongyu.com/