//采用windows控制台实现计算文件夹中对象总数以及批量读取对象

 //#include <afx.h> //和windows.h是一样的作用
#include <opencv2/opencv.hpp>
#include <windows.h> using namespace cv;
using namespace std; int CBRelationship(string buffer); int main()
{ int count = ; //记录文件夹中对象数目 WIN32_FIND_DATA p; //p是一个用于保存文件信息的结构体
HANDLE h = FindFirstFile("C:/Users/Administrator/Desktop/区分高架定位/*.jpg",&p);
cout<<p.cFileName<<endl;//打印被找到的第一个*.jpg的文件名
while(FindNextFile(h,&p)) //p不断后移,寻找下一个、下下一个*.jpg
{
cout<<p.cFileName<<endl;
count++;
}
cout<<"count="<<count<<endl; //依次自动的对每一幅图像进行相应处理
int i;//处理图像的序号
int result;//处理图像得到的结果
char buffer[];
char imageDirectory[] = "C:/Users/Administrator/Desktop/区分高架定位";//存放图像的目录
char imageFileType[] = "jpg";//图像类型 FILE *fp=fopen("C:/Users/Administrator/Desktop/区分高架定位/result.txt","w");//打开并写入文件 for ( i = ;i <= count;i++)
{ sprintf(buffer,"%s/%d.%s", imageDirectory,i, imageFileType); //创建可变得图像路径buffer result = CBRelationship( buffer);//函数处理后返回值result fprintf(fp,"%d\t",result);//将result存入到文件中 } fclose(fp); //关闭文件
return ;
}

  

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

代码:

 #include <opencv2/opencv.hpp>
#include <iostream>
#include <vector> using namespace cv;
using namespace std; int main()
{
//用于存储训练的数据
cv::Directory TrainDir;//用于遍历路径下文件的类
string path1 = "E:/train/9";//训练样本所在文件夹 9为手动修改文件夹
string exten1 = "*.bmp";//训练样本的后缀名
bool addPath1 = true;//true; //是true则函数返回文件绝对路径和文件名,是false则返回文件名 vector<string> Train_pathnames = TrainDir.GetListFiles(path1, exten1, addPath1);//存储所有待训练样本的路径+文件名 char image_name[] = { };
int digit_tag = path1[path1.size() - ] - ; //遍历目标文件夹,读入所有待训练样本,
for (int i = ; i < Train_pathnames.size(); i++)
{
Mat Image = imread(Train_pathnames[i]);
sprintf_s(image_name, "E:/%d/%d-%d.bmp", digit_tag, digit_tag, i);//定义文件名 可变
imwrite(image_name, Image);
}
return ;
}

OpenCV C++ 计算文件夹中对象文件数目及批量处理后保存到txt文件的更多相关文章

  1. OpenCV2类批量处理文件夹及文件图像 及批量处理后保存到txt文件

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

  2. 如何使用命令将文件夹中的文件名(包括路径)写入到txt文件中

    在cmd中使用 cd /d 路径,进入当前文件夹中 使用 dir /s /b > 0.txt 如图:

  3. sublime text 3 的在文件夹中查找的快捷键没有反应 的bug冲突

    11:19 2015/11/18 sublime text 3 的在文件夹中查找的快捷键没有反应 的bug冲突 在文件夹查找的快捷键:ctrl shift f没有反应,后来发现是百度输入法与它有问题, ...

  4. 得到一个文件夹中所有文件的名称的几个方法(命令指示符, C++, python)

    因为最近一直需要获得一个文件下的所有图片的名称,自己又总是跨平台使用,所以把自己在不同环境之下使用的方法总结如下 1.cmd 模式下 优点:简单 例如,我想将一个文件夹下的所有".jpg&q ...

  5. python批量处理文件夹中文件的问题

    用os模块读取文件夹中文件 原来的代码: import osfrom scipy.misc import imread filenames=os.listdir(r'./unprocess')for ...

  6. 在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM

    题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 m ...

  7. C++读取文件夹中所有的文件或者是特定后缀的文件

    由于经常有读取一个文件夹中的很多随机编号的文件,很多时候需要读取某些特定格式的所有文件. 下面的代码可以读取指定文件家中的所有文件和文件夹中格式为jpg的文件 参考: http://www.2cto. ...

  8. IO流的练习2 —— 复制单级文件夹中的文件

    需求:把C:\Users\Administrator\Desktop\记录\测试里面的所有文件复制到 C:\Users\Administrator\Desktop\新建文件夹\copy文件夹中 分析: ...

  9. 使用ftp读取文件夹中的多个文件,并删除

    public class FTPUtils { private static final Logger LOG = LoggerFactory.getLogger(FTPUtils.class); / ...

随机推荐

  1. Unix网络编程--卷二:进程间通信

    Unix网络编程--卷二:进程间通信 本书是一部Unix网络编程的经典之作!进程间通信(IPC)几乎是所有Unix程序性能的关键,理解IPC也是理解如何开发不同主机网络应用程序的必要条件.本书从对Po ...

  2. 性能tips

    Latch 闩 锁的平级 采样时间不能太长,太频繁 一般情况下,性能图应该是一种趋势图,看的是趋势,不看某些单个点 在压测收集数据时,可能多种工具收集到的性能数据有少许差异,原因: 网络延迟,导致收集 ...

  3. mysqli报错(HY000/2002)

    Warning: mysqli::mysqli(): (HY000/2002): 没有那个文件或目录 解决:把localhost 换成127.0.0.1就好了.

  4. js的解析--预处理(三)

    js的解析与执行过程  分全局  {预处理阶段和执行阶段}  函数{预处理函数和执行阶段}   1/创建词法环境(环境上下文) LexicalEnvironment   === window { } ...

  5. ACM-ICPC国际大学生程序设计竞赛北京赛区(2016)网络赛 A Simple Job

    描述 Institute of Computational Linguistics (ICL), Peking University is an interdisciplinary institute ...

  6. Android中的sharedUserId属性详解

    在Android里面每个app都有一个唯一的linux user ID,则这样权限就被设置成该应用程序的文件只对该用户可见,只对该应用程序自身可见,而我们可以使他们对其他的应用程序可见,这会使我们用到 ...

  7. 集合、ArrayList 集合。Stack集合。Queue集合。以及Hashtable集合

    arrayList 首先复制Colections加  : 创建arrayList ar =new arrayList(); //ArrayList al=new ArrayList();        ...

  8. MVC 中DropDownList 用法

    MVC 中DropDownList  用法 后台 Dictionary<string, int> dc = new Dictionary<string, int>(); dc. ...

  9. AsyncTask的注意事项

    1.6之前:AsyncTask是串行的 1.6~2.3:改成了并行的,同时最多只能执行5个 从1.6开始,AsyncTask引入了线程池,支持同时执行5个异步任务,也就是说同时只能有5个线程运行,超过 ...

  10. [转]C# List<T>的详细用法

    所属命名空间:System.Collections.Generic publicclassList<T> : IList<T>,ICollection<T>, IE ...