cv::glob( )

1. 获取文件名称

1)获取指定路径之下,符合特定模式的文件列表,可以用于批量读取、处理多个文件。
     cv::glob(const String& pattern,  std::vector& filenames,  bool recursive = false)
     ① pattern:指定文件路径和模式,可以使用*.jpg来匹配所有以.jpg所有的文件;
     ② filenames:vecetor容器,用于存储匹配到的文件名
     ③ recursive:布尔值,是否递归搜索文件夹,默认为false,即只搜索指定路径下的文件

                            夹

2)将指定文件夹中的满足条件的名称放入容器中,一般与cv::imread(path)等结合使用。

2. 使用方法

1)函数调用成功之后, filenames中将包含所有匹配到的文件名,可以遍历filenames,对每

      个文件进行处理;

#include 
#include 

int main() {
    std::vector filenames;
    cv::glob("path/to/images/*.jpg", filenames);

    for (const auto& filename : filenames) {
        cv::Mat image = cv::imread(filename);
        if (image.empty()) {
            std::cout << "无法读取图像:" << filename << std::endl;
            continue;
        }

        // 对图像进行处理...

        cv::imshow("Image", image);
        cv::waitKey(0);
    }

    return 0;
}

你可能感兴趣的:(OpenCV,c++)