namespace fs = std::filesystem;这句话我这里显示错误
时间: 2024-01-20 10:04:48 浏览: 245
fs文件系统
4星 · 用户满意度95%
如果您的编译器不支持 C++17,可能会出现该错误。在这种情况下,您需要使用以下方法来遍历目录:
```c++
#include <iostream>
#include <opencv2/opencv.hpp>
#include <experimental/filesystem>
namespace fs = std::experimental::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;
}
```
这里我们使用 `std::experimental::filesystem` 命名空间代替 `std::filesystem` 命名空间。这个命名空间在 C++17 之前是实验性的,因此被称为实验性文件系统库。如果您的编译器支持 C++17,则应该使用 `std::filesystem` 命名空间。
阅读全文