C++ 代码实现文件夹图片重命名:从 0 开始依次编号
以下是用 C++ 实现读取文件夹所有图片,并将图片依次从 0 开始重命名的代码:
#include <iostream>
#include <string>
#include <dirent.h>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
string folder_path = "/path/to/folder/"; // 文件夹路径
DIR* dir = opendir(folder_path.c_str()); // 打开文件夹
dirent* pdir;
int count = 0; // 图片计数器
while ((pdir = readdir(dir)) != NULL) { // 读取文件夹中所有文件
string file_name = pdir->d_name;
string file_path = folder_path + file_name;
if (file_name.find(".jpg") != string::npos || file_name.find(".png") != string::npos) { // 判断文件是否为图片
Mat img = imread(file_path);
string new_file_name = to_string(count) + ".jpg"; // 新文件名
string new_file_path = folder_path + new_file_name;
imwrite(new_file_path, img); // 保存图片
count++; // 计数器加1
}
}
closedir(dir); // 关闭文件夹
return 0;
}
这段代码首先指定了文件夹的路径,然后打开文件夹并读取其中所有文件。对于每个文件,如果是图片,则用 OpenCV 读取图片并将其重命名为从 0 开始依次递增的数字作为文件名,并保存到原文件夹中。最后关闭文件夹并结束程序。
原文地址: https://www.cveoy.top/t/topic/lHQQ 著作权归作者所有。请勿转载和采集!