可以不使用 dirent.h。吗?
时间: 2024-03-27 07:36:47 浏览: 119
是的,您可以使用 C++17 中的文件系统库来遍历目录,而无需使用 `dirent.h`。可以使用 `std::filesystem` 命名空间中的 `directory_iterator` 类来遍历目录中的文件。以下是使用文件系统库的代码示例:
```c++
#include <iostream>
#include <opencv2/opencv.hpp>
#include <filesystem>
namespace fs = std::filesystem;
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
// 指定文件夹路径
string folder_path = "your/folder/path";
for (const auto& file : fs::directory_iterator(folder_path))
{
if (file.path().extension() == ".jpg" || file.path().extension() == ".png")
{
// 读取图片
Mat img = imread(file.path().string());
// 显示图片
imshow("Image", img);
waitKey(0);
}
}
return 0;
}
```
您可以将上述代码中的 `folder_path` 变量修改为您想要读取的文件夹路径,并确保该文件夹下包含您想要读取的图片文件。运行代码后,会依次打开每个图片并显示在屏幕上。
阅读全文