用ifstream流读取某个文件夹下的所有图片并显示
时间: 2024-03-27 11:36:38 浏览: 61
以下是读取某个文件夹下的所有图片并显示的示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
// Step 1: Get the image file paths in the folder
string folder_path = "path/to/folder";
vector<string> file_paths;
ifstream file_list(folder_path);
if (file_list.is_open())
{
string file_path;
while (getline(file_list, file_path))
{
file_paths.push_back(file_path);
}
file_list.close();
}
// Step 2: Read and show the images
for (auto file_path : file_paths)
{
Mat image = imread(file_path);
if (!image.empty())
{
imshow("Image", image);
waitKey(0);
}
}
return 0;
}
```
在上述代码中,首先通过ifstream流读取文件夹中的所有文件路径,将它们存储在vector<string>类型的file_paths中。然后,遍历所有文件路径,使用OpenCV的imread函数读取图像,并在窗口中显示。注意,必须检查读取的图像是否为空,以确保能够正确显示图像。
阅读全文