zoukankan      html  css  js  c++  java
  • 【20160924】GOCVHelper MFC增强算法(2)

    //创建或续写目录下的csv文件,填写“文件位置-分类”对
        int writeCsv(const stringfilename,const Vector<pair<string,string>>srcVect,char separator ){
            ofstream file(filename.c_str(),ofstream::app);
            if (!file)
                return 0;
            for (int i=0;i<srcVect.size();i++){
                file<<srcVect[i].first<<separator<<srcVect[i].second<<endl;
            }
            return srcVect.size();
        }
    //读取目录下的csv文件,获得“文件位置-分类”对
        vector<pair<string,string>> readCsv(const stringfilenamechar separator) {
            pair<string,stringapair;
            string linepathclasslabel;
            vector<pair<string,string>> retVect;
            ifstream file(filename.c_str(), ifstream::in);
            if (!file
                return retVect;
            while (getline(fileline)) {
                stringstream liness(line);
                getline(linesspathseparator);
                getline(linessclasslabel);
                if(!path.empty() && !classlabel.empty()) {
                    apair.first = path;
                    apair.second = classlabel;
                    retVect.push_back(apair);
                }
     
            }
            return retVect;

        }

    csv文件是最为简单的带格式文件。这种格式在opencv的人脸识别教程中得到了使用,这里是扣的它的代码。
    //获得ini文件中的值
         CString  GetInitStringCString Name1 ,CString Name2){
            char c[100] ;
            memsetc ,0 ,100) ;
            CString csCfgFilePath;
            GetModuleFileName(NULLcsCfgFilePath.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) ;
            CString rstr ;
            rstr .Format("%s" , c) ;
            return rstr ;
        }
         //写入ini问价中的值
         void WriteInitStringCString Name1 ,CString Name2 ,CString strvalue){
            CString csCfgFilePath;
            GetModuleFileName(NULLcsCfgFilePath.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) ;
            if ( !br)
                TRACE("savewrong") ;
        }
    这两个函数主要是用来保存和修改配置文件的。通过直接将配置文件写入.ini中达到这个目标。
     
     





  • 相关阅读:
    WinForm高级控件--PictureBox控件(图片控件)
    改变GridView中列的宽度
    RabbitMq笔记()
    参数可传可不传
    C# 视频讲解
    <ItemTemp>里写判断语句
    MyEclipse 2017 CI 10 发布(附下载)
    DevExpress v17.2新版亮点—WPF篇(四)
    DevExpress XtraScheduler日程管理控件应用实例(2)-- 深入理解数据存储
    MyEclipse移动开发教程:设置所需配置的iOS应用(三)
  • 原文地址:https://www.cnblogs.com/jsxyhelu/p/5907502.html
Copyright © 2011-2022 走看看