1、获取文件夹里图片列表
编写一个bat程序(get route.bat,bat是避免每次都需要去dos框输入),如下所示:
在你的图片文件夹里,编写一个bat程序(get route.bat,bat是避免每次都需要去dos框输入,那里又不能复制又不能粘贴!),如下所示:
运行bat文件,就会生成如下dat(txt)文件:
运行bat文件,就会生成txt文件:
- 2、编写程序顺序读取Img.txt文件中的名字,即可一次处理图片。
- #include <opencv2/opencv.hpp>
- #include <fstream>
- #include <iostream>
- #include <vector>
- #include <string.h>
- #include <time.h>
- using namespace std;
- using namespace cv;
- int main()
- {
- string list_file = "F://Img.txt";
- //检测测试样本
- ifstream fin(list_file); //打开记录样本名的文件
- //ifstream fin(person_neg_test_file); //打开记录样本名的文件
- char img_name[256]; //存储文件名
- string path;
- int sample_count = 0;
- while(!fin.eof())
- {
- memset(img_name, '/0', 256*sizeof(char));
- fin>>img_name;
- int len = strlen(img_name);
- if (len<=3)
- {
- break;
- }
- string tempStr = img_name;
- path = list_file.substr(0,list_file.find_last_of("/")+1) + tempStr;
- //读取图像
- cv::Mat img = cv::imread(path);
- Mat grayImg;
- if (img.data)
- {
- //resize(img,img,Size(32,32));
- cvtColor(img,grayImg,CV_BGR2GRAY);
- imwrite(path,grayImg);
- imshow("img",grayImg);
- }
- }
- return 0;
- }