首页 > 解决方案 > OpenCV与C++,使用cv::utils::fs::glob()函数

问题描述

我正在将 OpenCV 与 C++ 一起使用,并且想从带有文件名过滤器的文件夹中读取文件。OpenCV 的官方文档在过滤器语法上似乎有点混乱:

void cv::utils::fs::glob    (   const cv::String &  directory,
                                const cv::String &  pattern,
                                std::vector< cv::String > &     result,
                                bool    recursive = false,
                                bool    includeDirectories = false 
                            )

pattern:过滤器模式(基于 '*'/'?' 符号)。使用空字符串禁用过滤并返回所有结果

我尝试使用空cv::string ""cv::string "*.jpg"作为模式,它在读取目录内的所有文件时效果很好。

我的问题是,符号/?. 你能提供一些例子吗?

标签: c++opencv

解决方案


?只是一个字符的通配符,?.jpg适合1.jpg, 2.jpg,但不适合10.jpg.

/是一个文件夹分隔符,如果您包含目录,则可能会使用它,然后您可以指定要从哪个特定目录读取文件:images/*.jpg等等。


推荐阅读