以下是用 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 开始依次递增的数字作为文件名,并保存到原文件夹中。最后关闭文件夹并结束程序。

C++ 代码实现文件夹图片重命名:从 0 开始依次编号

原文地址: https://www.cveoy.top/t/topic/lHQQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录