(1)cv::glob()函数 函数原型:
void cv::glob(String pattern, std::vector<string>&result, bool recursive = false)
/**
@param String pattern //绝对路径下的照片
@param pattern = "/home/mytxt/DCIM/*.jpg"; //举例,注意*.jpg,选择这一类的图片
@param std::vector< String > & result //必须为CV的String,即路径被存在string类型的vector中
@param bool recursive //默认flase
//当recursive为false时,仅仅遍历指定文件夹内符合模式的文件,
//当recursive为true时,会同时遍历指定文件夹的子文件夹
*/
实例
#include <opencv2/opencv.hpp>
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
using namespace cv;
using namespace std;
int main() {
std::string pattern_jpg = "C:\\Users\\txx\\Desktop\\TestBiaoDingPicture\\*.tif";//*.jpg 等允许的格式都可以,根据实际情况选择
std::vector<cv::String> image_files;
cv::glob(pattern_jpg, image_files);
if (image_files.size() == 0) {
std::cout << "No image files[jpg]" << std::endl;
return 0;
}
for (unsigned int frame = 0; frame < image_files.size(); frame++) {//image_file.size()代表文件中总共的图片个数
Mat image = cv::imread(image_files[frame]);
imshow("frame", image);
waitKey(1000);
}
return 0;
}
(2)