OpenCV 中的 cv::glob
函数是一个文件路径遍历函数,它可以在指定的目录中查找符合指定模式的所有文件。该函数的原型如下:
cv::glob(const std::string& pattern, cv::FileStorage& fs)
其中,pattern
是指定的模式,可以是文件名或目录名,支持通配符(如 *
、?
);fs
是文件存储对象,用于保存遍历到的文件路径。
例如,下面的代码在当前目录中查找所有以 .jpg
为扩展名的文件:
cv::glob("*.jpg", fs);
如果找到符合条件的文件,cv::glob
函数会将它们的路径添加到文件存储对象 fs
中。用户可以通过 fs.size()
来获取遍历到的文件数量,并通过 fs[i]
来访问第 i
个文件的路径。
需要注意的是,cv::glob
函数是一个同步函数,它会阻塞当前线程,直到遍历完成。因此,如果需要遍历大量文件,建议使用异步函数,如 cv::FileStorage::底部
。