在做图像处理的时候,可能进行一个文件夹的所有文件的遍历。 有一种比较笨的方式是使用c 的文件夹遍历方式,但是代码太难理解,而且如果在windows中使用还需要使用wchar_t宽字符。
在做图像处理的时候,可能进行一个文件夹的所有文件的遍历。
有一种比较笨的方式是使用c 的文件夹遍历方式,但是代码太难理解,而且如果在windows中使用还需要使用wchar_t宽字符。
opencv本身就有目录遍历的类库,非常方便,我以前还一直傻傻的使用c的方式进行遍历。
示例代码:非常简单的操作
#include "iostream"
#include "stdio.h"
#include "opencv\cv.h"
#include "opencv\highgui.h"
#include <opencv2\opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
string dir_path = "C:/Users/zxl/Desktop/XOXO/New folder/";
Directory dir;
vector<string> fileNames = dir.GetListFiles(dir_path, "*.jpg", false);
for(int i=0; i < fileNames.size(); i++)
{
string fileName = fileNames[i];
string fileFullName = dir_path + fileName;
cout<<"file name:"<<fileName<<endl;
cout<<"file paht:"<<fileFullName<<endl;
}
system("pause");
return 0;
}
效果: