//递归读取目录下全部文件(flag为r的时候递归)
    void getFiles(string path, vector<string>& files,string flag){
        //文件句柄
        long   hFile   =   0;
        //文件信息
        struct _finddata_t fileinfo;
        string p;
        if((hFile = _findfirst(p.assign(path).append("\\*").c_str(),&fileinfo)) !=  -1){
            do{
                //如果是目录,迭代之,如果不是,加入列表
                if((fileinfo.attrib &  _A_SUBDIR)){
                    if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0 && flag=="r")
                        getFiles( p.assign(path).append("\\").append(fileinfo.name), files,flag );
                }
                else{
                    files.push_back(p.assign(path).append("\\").append(fileinfo.name) );
                }
            }while(_findnext(hFile, &fileinfo)  == 0);
            _findclose(hFile);
        }

}

    //递归读取目录下全部图片
    void getFiles(string path, vector<Mat>& files,string flag){
        vector<string> fileNames;
        getFiles(path,fileNames,flag);
        for (int i=0;i<fileNames.size();i++){
            Mat tmp = imread(fileNames[i]);
            if (tmp.rows>0)//如果是图片
                files.push_back(tmp);
        }

}

    //递归读取目录下全部图片和名称
    void getFiles(string path, vector<pair<Mat,string>>& files,string flag){
        vector<string> fileNames;
        getFiles(path,fileNames,flag);
        for (int i=0;i<fileNames.size();i++){
            Mat tmp = imread(fileNames[i]);
            if (tmp.rows>0){
                pair<Mat,string> apir;
                apir.first = tmp;
                apir.second = fileNames[i];
                files.push_back(apir);
            }
        }

}

       在结合MFC的程序设计中,经常涉及到图片文件输入输出的情况。所以我编写集成了一些算法,在这个方面进行增强。getFiles函数能够递归地读取某个目录下面所有文件的据对路径。这样就能够一次性获得所有的图片;对getFiles进行重载,这样能够直接将图片读入mat,或者读入pair<Mat,string>,更加方便。
       可能你会问,既然已经读入Mat了,但是为什么还要读出pair<Mat,string>了?这是因为很多时候在获得图片的时候还需要获得图片的名称。
 
    删除目录下的全部文件
    void deleteFiles(string path,string flag){
        //文件句柄
        long   hFile   =   0;
        //文件信息
        struct _finddata_t fileinfo;
        string p;
        if((hFile = _findfirst(p.assign(path).append("\\*").c_str(),&fileinfo)) !=  -1){
            do{
                //如果是目录,迭代之,如果不是,加入列表
                if((fileinfo.attrib &  _A_SUBDIR)){
                    if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0 && flag=="r")
                        deleteFiles(p.assign(path).append("\\").append(fileinfo.name).c_str(),flag );
                }
                else{
                    deleteFiles(p.assign(path).append("\\").append(fileinfo.name).c_str());
                }
            }while(_findnext(hFile, &fileinfo)  == 0);
            _findclose(hFile);
        }

}

     删除目录下的全部文件。
 
 
 
 

来自为知笔记(Wiz)

目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com

【20160924】GOCVHelper MFC增强算法(1)相关推荐

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

    //创建或续写目录下的csv文件,填写"文件位置-分类"对     int writeCsv(const string& filename,const Vector< ...

  2. 小目标检测的增强算法

    小目标检测的增强算法 Augmentation for small object detection 摘要 近年来,目标检测取得了令人瞩目的进展.尽管有了这些改进,但在检测小目标和大目标之间的性能仍有 ...

  3. 车辆摄像头夜晚场景图像ISP增强算法

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

  4. 图像多尺度对比增强算法

    多尺度对比增强算法的基本观点是将图像分解成代表图像单个细节的像素,然后立 即在这些像素上提高对比度,因此要求选择一种图像分解方法. 在图像分解方法的选择上要遵循以下两个基本条件:           ...

  5. 摄像头图像分析目标物体大小位置_小目标检测的增强算法

    版权声明:本文来源 程序媛的小世界https://zhuanlan.zhihu.com/p/135397874 Augmentation for small object detection 摘要 近 ...

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

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

  7. 基于维纳滤波的语音增强算法 matlab,基于维纳滤波语音增强算法的改进实现

    通过对维纳滤波的介绍,实现了基本维纳滤波效果;利用两级维纳滤波和两级滤波器组滤波方法实现了语音增强,达到了良好的效果. 维普资讯 http://doc.docsou.com 文章编号:0 2 8 8 ...

  8. matlab 的谱相减语音增强算法的研究,基于MATLAB的谱相减语音增强算法的研究

    语音处理 谱减法 语音增加 去噪 维普资讯 http://www.wendangwang.com 第2卷第3 3期 文章编号:06- 3 8 2 0 ) 3-07 0 10 9 4 (0 6 0 2 ...

  9. 语音增强算法的概述[转]

    选自:http://www.cnblogs.com/chunge2050/p/3159158.html 本课题隶属于学校的创新性课题研究项目.2012年就已经做完了,今天一并拿来发表. 目录: --基 ...

最新文章

  1. 全球智能驾驶产业全景图
  2. Ruby之Rspec的报错解决
  3. system文件_大文件拷贝,试试NIO的内存映射
  4. hdu1978(递推dp)
  5. 正则表达式的一点说明
  6. PDF阅读器中如何改变线条颜色、线宽和线型等
  7. xshell5登录不上,让更新,结果还是不行的解决方法
  8. 【Linux】虚拟服务器之LVS
  9. 通信原理实践(五)——2PSK 与2DPSK 通信系统
  10. python怎么创建变量_创建一个新变量,它是python中另一个变量的...
  11. 浅析iOS程序设计模式(基于MVC)
  12. paip. erlang语法C++语法对比attilax总结
  13. Windows用户最佳远程控制器——Xmanager
  14. 严选chat_拔草 | 网易严选的零食,真的“严选”了吗?
  15. ceph rbd mysql_Ceph实践之rbd
  16. 编包----rpm和deb和ISO目录制作出ISO
  17. K8sPod对象的生命周期
  18. 51单片机系列(三)51 单片机游戏设计 —— 双人对战小游戏(石头剪刀布)
  19. 企业是否采用OA办公系统的区别
  20. PCB标记的埋雷设计,短路了却找不到一丝踪迹

热门文章

  1. samtools 检测bam文件的完整度
  2. Python_note2 基本图形绘制+turtle库使用
  3. DropDownList动态添加新项并位于第一项 ASP.NET控件应用
  4. java 矩阵转置算法
  5. (转)教你实现Winform窗体的四边阴影效果
  6. MySQL使用正则表达式
  7. 初中计算机应用教什么,信息技术在初中数学教学中的应用
  8. java用爬虫爬一个页面_使用Java写一个简单爬虫爬取单页面
  9. java递归url目录_Java递归实现某个目录下所有文件和目录
  10. mysql xplugin_mysql 5.7.12 新增 X plugin 详解