代码来源于网络
#include<io.h>#include <opencv2/opencv.hpp>#include <iostream>#include <ctime>#include <vector>using namespace std;using namespace cv;void getFiles(string path, vector<string>& files){intptr_t hFile = 0;//文件句柄,过会儿用来查找struct _finddata_t fileinfo;//文件信息string p;//string pa = "C://Users//YAO//Documents//Visual Studio //Projects//Project2//Project2//files//creat_feature_lib//points_filter";cout << "ooo" << _findfirst(p.assign(path).append("//*").c_str(), &fileinfo) << endl;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)getFiles(p.assign(path).append("\\").append(fileinfo.name), files);;}else//如果是文件{files.push_back(p.assign(path).append("\\").append(fileinfo.name));}} while (_findnext(hFile, &fileinfo) == 0); //能寻找到其他文件_findclose(hFile); //结束查找,关闭句柄}}int main(){string path="datas";vector<string> files;getFiles(path, files);Mat img = imread(files[0]);if (img.empty()){cout << "img input failed";}else{imshow("", img);waitKey();}cout << files.size();return 0;}