虽然OpenCV的VideoCapture可以读取序列图片,但是有时候不好用,自己写了一个类来专门读取序列图片。
图片的命名方式为img000.png img001.png img010.png img100.png img999.png
数字位数一定要相同,用0补全,可以没有前缀img
批量修改文件名可以用2345看图王软件,虽然会弹广告,但是挺好用
#pragma once
#include <string>
#include <sstream>
#include <iostream>
#include <opencv2/opencv.hpp>
class SeqCapture
{
public:
SeqCapture(std::string inputFile);
bool read(cv::Mat& input); //加载图片并检查是否读取完毕
private:
cv::Mat img;
/* 假设文件为 D:\\Datasets\\img000.png */
std::string firstFilePathName; //第一幅图片的路径+名称 D:\\Datasets\\img000.png
std::string path; //文件路径+前