1.  
  1. //采用windows控制台实现计算文件夹中对象总数以及批量读取对象
  2.  
  3. //#include <afx.h> //和windows.h是一样的作用
  4. #include <opencv2/opencv.hpp>
  5. #include <windows.h>
  6.  
  7. using namespace cv;
  8. using namespace std;
  9.  
  10. int CBRelationship(string buffer);
  11.  
  12. int main()
  13. {
  14.  
  15. int count = ; //记录文件夹中对象数目
  16.  
  17. WIN32_FIND_DATA p; //p是一个用于保存文件信息的结构体
  18. HANDLE h = FindFirstFile("C:/Users/Administrator/Desktop/区分高架定位/*.jpg",&p);
  19. cout<<p.cFileName<<endl;//打印被找到的第一个*.jpg的文件名
  20. while(FindNextFile(h,&p)) //p不断后移,寻找下一个、下下一个*.jpg
  21. {
  22. cout<<p.cFileName<<endl;
  23. count++;
  24. }
  25. cout<<"count="<<count<<endl;
  26.  
  27. //依次自动的对每一幅图像进行相应处理
  28. int i;//处理图像的序号
  29. int result;//处理图像得到的结果
  30. char buffer[];
  31. char imageDirectory[] = "C:/Users/Administrator/Desktop/区分高架定位";//存放图像的目录
  32. char imageFileType[] = "jpg";//图像类型
  33.  
  34. FILE *fp=fopen("C:/Users/Administrator/Desktop/区分高架定位/result.txt","w");//打开并写入文件
  35.  
  36. for ( i = ;i <= count;i++)
  37. {
  38.  
  39. sprintf(buffer,"%s/%d.%s", imageDirectory,i, imageFileType); //创建可变得图像路径buffer
  40.  
  41. result = CBRelationship( buffer);//函数处理后返回值result
  42.  
  43. fprintf(fp,"%d\t",result);//将result存入到文件中
  44.  
  45. }
  46.  
  47. fclose(fp); //关闭文件
  48. return ;
  49. }
  1.  

  

2. 利用OpenCV类批量处理文件夹及文件图像并重命名

代码:

  1. #include <opencv2/opencv.hpp>
  2. #include <iostream>
  3. #include <vector>
  4.  
  5. using namespace cv;
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. //用于存储训练的数据
  11. cv::Directory TrainDir;//用于遍历路径下文件的类
  12. string path1 = "E:/train/9";//训练样本所在文件夹 9为手动修改文件夹
  13. string exten1 = "*.bmp";//训练样本的后缀名
  14. bool addPath1 = true;//true; //是true则函数返回文件绝对路径和文件名,是false则返回文件名
  15.  
  16. vector<string> Train_pathnames = TrainDir.GetListFiles(path1, exten1, addPath1);//存储所有待训练样本的路径+文件名
  17.  
  18. char image_name[] = { };
  19. int digit_tag = path1[path1.size() - ] - ;
  20.  
  21. //遍历目标文件夹,读入所有待训练样本,
  22. for (int i = ; i < Train_pathnames.size(); i++)
  23. {
  24. Mat Image = imread(Train_pathnames[i]);
  25. sprintf_s(image_name, "E:/%d/%d-%d.bmp", digit_tag, digit_tag, i);//定义文件名 可变
  26. imwrite(image_name, Image);
  27. }
  28. return ;
  29. }

OpenCV2类批量处理文件夹及文件图像 及批量处理后保存到txt文件的更多相关文章

  1. OpenCV C++ 计算文件夹中对象文件数目及批量处理后保存到txt文件

    //采用windows控制台实现计算文件夹中对象总数以及批量读取对象 //#include <afx.h> //和windows.h是一样的作用 #include <opencv2/ ...

  2. matlab从文件夹名中获得该文件夹下所图像文件名

    function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_FileNameFromFolderPath(path ...

  3. 脚本工具(获取某个文件夹下的所有图片属性批量生成css样式)

    问题描述: 由于有一次工作原因,就是将某个文件夹下的所有图片,通过CSS描述他们的属性,用的时候就可以直接引用.但是我觉得那个文件夹下的图片太多,而且CSS文件的格式又有一定的规律,所有想通过脚本来生 ...

  4. 编写Java程序,在一个文件夹内,查找占用磁盘空间最大的 jpg 文件,并输出文件大小

    查看本章节 查看作业目录 需求说明: 在一个文件夹内,查找占用磁盘空间最大的 jpg 文件,并输出文件大小 实现思路: 创建ImageFileFilter类实现FilenameFilter接口,且重写 ...

  5. 新建childTest文件夹,里面依然放进我们需要的.py文件即可

    一.模块 我们编写文件:a.py,放在C:\Python34\Lib\sit-packages下,里面写上一句代码为: print('this is a') 之后我们就可以在我们的代码里面引用a.py ...

  6. 2. pushd . :将当前文件夹压入栈,使用popd能够回到该文件夹。

    1.man -t  ls | ps2pdf -> ls.pdf生成pdf格式的ls帮助文件. 2. pushd . :将当前文件夹压入栈,使用popd能够回到该文件夹. 3.find -type ...

  7. SQL C# nvarchar类型转换为int类型 多表查询的问题,查询结果到新表,TXT数据读取到控件和数据库,生成在控件中的数据如何存到TXT文件中

    在数据库时候我设计了学生的分数为nvarchar(50),是为了在从TXT文件中读取数据插入到数据库表时候方便,但是在后期由于涉及到统计问题,比如求平均值等,需要int类型才可以,方法是:Conver ...

  8. np.savetxt()——将array保存到txt文件,并保持原格式

    问题:1.如何将array保存到txt文件中?2.如何将存到txt文件中的数据读出为ndarray类型? 需求:科学计算中,往往需要将运算结果(array类型)保存到本地,以便进行后续的数据分析. 解 ...

  9. java算法面试题:编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。

    package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...

随机推荐

  1. 把旧系统迁移到.Net Core 2.0 日记 (18) --JWT 认证(Json Web Token)

    我们最常用的认证系统是Cookie认证,通常用一般需要人工登录的系统,用户访问授权范围的url时,会自动Redirect到Account/Login,登录后把认证结果存在cookie里. 系统只要找到 ...

  2. 模块之 logging, shelve, sys 模块

    一. logging模块 用来记录日志,日志:记录某个时间点发生了什么事 日志作用:程序调试 了解软件程序的运行情况,是否正常 软件程序运行故障分析与问题定位 还可用来做用户行为分析 日志等级:在不改 ...

  3. 【框架】Testng用例失败自动重跑(五)

    arrow是testng的一个扩展插件,参考arrow的源代码 1.新建一个工程,结果如图: 2.RetryListener.java的代码 package com.netease.qa.testng ...

  4. ASP.Net MVC(1) 之走进MVC

    一.MVC三层架构: mvc三层架构,大家都比较熟悉了,这里再介绍一下.Mvc将应用程序分离为三个部分: Model:是一组类,用来描述被处理的数据,同时也定义这些数据如何被变更和操作的业务规则.与数 ...

  5. shell script auto generate the relevant header information

    first : add follow context in   /etc/vim/vimrc set ignorecaseset cursorlineset autoindentautocmd Buf ...

  6. Saiku的下载与安装(一)

    Saiku- 数据可视化的工具,连接数据源展示数据,并且可方便导出xls/csv/pdf等文件的工具 一.Saiku下载 社区网址:https://community.meteorite.bi/ 二. ...

  7. 【转】caffe数据层及参数

    原文: 要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个层(layer)构成,每一层又由许多参数组成.所有的参数都定义在caffe.proto ...

  8. MeshLab 编译

    1.需要以下:  MeshLab 1.3.3  下载地址 http://sourceforge.net/projects/meshlab/files/meshlab Win7 X64  Visual ...

  9. div 内 图片 垂直居中

    vertical-align属性适用于 line-block: <div class="title"> <img src="img_p1_title.p ...

  10. window.setTimeout和window.setInterval的区别,及用其中一个方法记录时间。

    window.setTimeout(语句,时间)是在多久之后执行语句,语句只执行一次. window.setInterval(语句,时间)是每隔多久执行一次语句,语句循环执行. <!DOCTYP ...