glob()遍历文件夹中图像,以及保存

void glob(cv::String pattern, std::vector<cv::String>& result, bool recursive = false);

注意String是cv空间下的,不是std。glob遍历图像名称不是按顺序进行遍历的,1 10 11……19 20 21……;
当recursive为false时,仅仅遍历指定文件夹内符合模式的文件,当recursive为true时,会同时遍历指定文件夹的子文件夹。

    cv::String path = "D:/data/*.jpg";
    vector<cv::String> paths;
    glob(path, paths);//遍历结果存储到paths中,paths内容格式如,D:/data/3.jpg
    Mat srcImg, grayImg;
    for (int i = 0; i < paths.size(); i++)
    {
        srcImg = imread(paths[i]);
        cvtColor(srcImg, grayImg, CV_BGR2GRAY); // 生成灰度图,提高检测效率
        …………其他代码…………
    }

 

【人脸检测案例】opencv detectMultiScale(),批量读取目录内图片

【参考】

https://blog.csdn.net/qq_35054151/article/details/84025995?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

posted @ 2020-02-25 16:16  夕西行  阅读(1357)  评论(0编辑  收藏  举报