批量读取某一文件下所有图片或者其他文件
发布日期:2021-05-14 10:16:53 浏览次数:13 分类:精选文章

本文共 1159 字,大约阅读时间需要 3 分钟。

使用void getFiles(string path, vector<string> &files)函数,您可以轻松地实现文件查找功能。通过在工程中添加以下头文件Ensure:

#include 
#include
#include
#include

然后,您可以在主函数中实现以下步骤:

Mat g_SrcImage;
void getFiles(string path, vector
&files);
char * filePath = "E:/SVM_train_data/positive/train";
vector
files;
getFiles(filePath, files);

函数void getFiles(string path, vector<string> &files)将遍历指定路径下的所有文件和文件夹,具体实现如下:

void getFiles(string path, vector
&files) {
gchar hFile = 0;
struct _finddata_t fileinfo;
string p;
if ((hFile = _findfirst(p.append("\\*").c_str(), &fileinfo)) != -1) {
do {
if (fileinfo.attrib & _A_SUBDIR) {
if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0) {
getFiles(p.append("\\").append(fileinfo.name), files);
}
} else {
files.push_back(p.append("\\").append(fileinfo.name));
}
} while (_findnext(hFile, &fileinfo) == 0);
_findclose(hFile);
}
}

通过调用该函数,您可以获取指定路径下的所有文件名,并使用g_SrcImage = imread(files[i].c_str())加载图像并显示输出。

上一篇:C++用 _findfirst 和 _findnext 查找文件
下一篇:SVM学习笔记——SVM解决多分类问题的方法

发表评论

最新留言

不错!
[***.144.177.141]2025年04月12日 08时08分57秒