glob函数的用法用法:
glob在opencv3下,并且命名空间为cv::glob()能够直接调用,在官网中只说明了如下调用方式,并没有给出具体的例子。但通过使用可以知道函数目的是将pattern路径下的所用文件名存进result中
void cv::glob ( String pattern,
std::vector< String > & result,
bool recursive = false
)
下面例子主要功能是打开”/home/rui”路径下所有的图片并显示出来
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/ml.hpp"
#include "opencv2/objdetect.hpp"
int main()
{
std::vector<cv::String> filenames; // notice here that we are using the Opencv's embedded "String" class
cv::String folder = "/home/rui"; // again we are using the Opencv's embedded "String" class
cv::glob(folder, filenames); // new function that does the job ;-)
for(size_t i = 0; i < filenames.size(); ++i)
{
std::cout<<filenames[i]<<std::endl;
cv::Mat src = cv::imread(filenames[i]);
if(!src.data)
std::cerr << "Problem loading image!!!" << std::endl;
cv::imshow("temp",src);
cv::waitKey(0);
/* do whatever you want with your images here */
}
}