C++中文件中的图片个数怎么获取
时间: 2024-02-22 18:58:38 浏览: 56
C++提取文件中信息的方法
要求文件中的图片数量,可以使用C++的OpenCV库,采用以下步骤:
1. 读取文件夹中的所有文件;
2. 遍历所有文件,通过文件的扩展名来确定是否为图片文件;
3. 如果是图片文件,则计数器加1。
以下是示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <string>
#include <filesystem>
#include <opencv2/opencv.hpp>
using namespace std;
int main()
{
string folder_path = "C:\\example_folder"; // 文件夹路径
int img_count = 0; // 图片计数器
for (const auto & entry : filesystem::directory_iterator(folder_path))
{
if (entry.is_regular_file()) // 如果是文件
{
string file_path = entry.path().string(); // 获取文件的完整路径
string file_ext = file_path.substr(file_path.find_last_of(".") + 1); // 获取文件扩展名
if (file_ext == "jpg" || file_ext == "jpeg" || file_ext == "png" || file_ext == "bmp") // 如果是图片文件
{
cv::Mat img = cv::imread(file_path); // 读取图片
if (!img.empty()) // 如果图片读取成功
{
img_count++; // 计数器加1
}
}
}
}
cout << "The number of images in the folder is: " << img_count << endl;
return 0;
}
```
上述代码使用了OpenCV库中的cv::imread()函数来读取图片文件,并判断图片读取是否成功。如果成功,则计数器加1。最后输出计数器的值即可得到文件夹中的图片数量。注意,这里只考虑了常见的几种图片格式,如果需要支持更多格式,可以根据需要进行扩展。
阅读全文