如何用OpenCV遍历目录中的所有文件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计294个文字,预计阅读时间需要2分钟。
在图像处理时,可以遍历一个文件夹中所有文件。一种比较简单的比较方式是使用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;
}
效果:
本文共计294个文字,预计阅读时间需要2分钟。
在图像处理时,可以遍历一个文件夹中所有文件。一种比较简单的比较方式是使用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;
}
效果:

