//创建或续写目录下的csv文件,填写“文件位置-分类”对
    int writeCsv(const string& filename,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 string& filename, char separator) {
        pair<string,string> apair;
        string line, path, classlabel;
        vector<pair<string,string>> retVect;
        ifstream file(filename.c_str(), ifstream::in);
        if (!file) 
            return retVect;
        while (getline(file, line)) {
            stringstream liness(line);
            getline(liness, path, separator);
            getline(liness, classlabel);
            if(!path.empty() && !classlabel.empty()) {
                apair.first = path;
                apair.second = classlabel;
                retVect.push_back(apair);
            }
 
        }
        return retVect;

}

csv文件是最为简单的带格式文件。这种格式在opencv的人脸识别教程中得到了使用,这里是扣的它的代码。
//获得ini文件中的值
     CString  GetInitString( CString Name1 ,CString Name2){
        char c[100] ;
        memset( c ,0 ,100) ;
        CString csCfgFilePath;
        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) ;
        CString rstr ;
        rstr .Format("%s" , c) ;
        return rstr ;
    }
     //写入ini问价中的值
     void WriteInitString( CString Name1 ,CString Name2 ,CString strvalue){
        CString csCfgFilePath;
        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) ;
        if ( !br)
            TRACE("savewrong") ;

}

这两个函数主要是用来保存和修改配置文件的。通过直接将配置文件写入.ini中达到这个目标。
 
 

【20160924】GOCVHelper MFC增强算法(2)的更多相关文章

  1. 【20160924】GOCVHelper MFC增强算法(1)

        //递归读取目录下全部文件(flag为r的时候递归)     void getFiles(string path, vector<string>& files,string ...

  2. 【20160924】GOCVHelper MFC增强算法(4)

    //string替换     void string_replace(string & strBig, const string & strsrc, const string & ...

  3. 【20160924】GOCVHelper MFC增强算法(3)

        //获得当前目录路径     static CString GetLocalPath(){         CString csCfgFilePath;         GetModuleFi ...

  4. 【20160924】GOCVHelper MFC增强算法(5)

    CString ExportListToExcel(CString  sExcelFile,CListCtrl* pList, CString strTitle)     {         CStr ...

  5. 基于Matlab的MMSE的语音增强算法的研究

    本课题隶属于学校的创新性课题研究项目.2012年就已经做完了,今天一并拿来发表.   目录: --基于谱减法的语音信号增强算法..................................... ...

  6. 图像处理之Retinex增强算法(SSR、MSR、MSRCR)

    视网膜-大脑皮层(Retinex)理论认为世界是无色的,人眼看到的世界是光与物质相互作用的结果,也就是说,映射到人眼中的图像和光的长波(R).中波(G).短波(B)以及物体的反射性质有关 其中I是人眼 ...

  7. 【红外DDE算法】数字细节增强算法的缘由与效果(我对FLIR文档详解)

    [红外DDE算法]数字细节增强算法的缘由与效果(我对FLIR文档详解) 1. 为什么红外系统中图像大多是14bit(甚至更高)?一个红外系统的性能经常以其探测的范围来区别,以及其对最小等效温差指标.首 ...

  8. 夜晚场景图像ISP增强算法

    夜晚场景图像ISP增强算法 输入输出接口 Input: (1)图像视频分辨率(整型int) (2)图像视频格式(RGB,YUV,MP4等) (3)摄像头标定参数(中心位置(x,y)和5个畸变 系数(2 ...

  9. AliCloudDenoise 语音增强算法:助力实时会议系统进入超清音质时代

    近些年,随着实时通信技术的发展,在线会议逐渐成为人们工作中不可或缺的重要办公工具,据不完全统计,线上会议中约有 75% 为纯语音会议,即无需开启摄像头和屏幕共享功能,此时会议中的语音质量和清晰度对线上 ...

随机推荐

  1. 免安装版的MySQL的安装与配置

    1. 将下载的 mysql-noinstall-5.1.69-win32.zip 解压至需要安装的位置, 如: C:\Program Files; 2. 在安装文件夹下找到 my-small.ini ...

  2. HDU 4832 Chess(DP+组合数学)(2014年百度之星程序设计大赛 - 初赛(第二轮))

    Problem Description 小度和小良最近又迷上了下棋.棋盘一共有N行M列,我们可以把左上角的格子定为(1,1),右下角的格子定为(N,M).在他们的规则中,“王”在棋盘上的走法遵循十字路 ...

  3. 分享Centos作为WEB服务器的防火墙规则

    # Firewall configuration written by system-config-firewall # Manual customization of this file is no ...

  4. paper 6:支持向量机系列三:Kernel —— 介绍核方法,并由此将支持向量机推广到非线性的情况。

    前面我们介绍了线性情况下的支持向量机,它通过寻找一个线性的超平面来达到对数据进行分类的目的.不过,由于是线性方法,所以对非线性的数据就没有办法处理了.例如图中的两类数据,分别分布为两个圆圈的形状,不论 ...

  5. Repeater 时间格式化

    Repeater 时间格式化   <%# Eval("AboutDate","{0:yyyy-MM-dd hh:mm:ss}")%> 个人认为最好用 ...

  6. FlexNOC

    arteris公司提供一系列工具,来完成NOC的生成,包括model,netlist,TB,script 生成包括三个阶段: NoC specification Phase:使用FlexArtist ...

  7. 【fedora】设置fedora系统

    1.安装自动选择最快源的插件fastestmirror: #sudo yum -y install axel yum-plugin-fastestmirror && sudo yum ...

  8. Hadoop之TaskInputOutputContext类

    在MapReduce过程中,每一个Job都会被分成若干个task,然后再进行处理.那么Hadoop是怎么将Job分成若干个task,并对其进行跟踪处理的呢?今天我们来看一个*Context类——Tas ...

  9. C#中Attribute的继承

    在C#中Attribute是个非常有用的语法,本文不会介绍Attribute的使用方法,如果想了解Attribute的详细信息请查阅MSDN及网上相关文档.C#中的Attribute有两个地方是和继承 ...

  10. 使用Node.js的socket.io模块开发实时web程序

    首发:个人博客,更新&纠错&回复 今天的思维漫游如下:从.net的windows程序开发,摸到nodejs的桌面程序开发,又熟悉了一下nodejs,对“异步”的理解有了上上周对操作系统 ...