SLAM基础代码学习
作业:请编程实现将文件夹/rgb下以时间命名的序列图片重新命名为0000-9999的格式。
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/opencv.hpp> using namespace std; using namespace cv; int main() { cv::String path="/home/ze/data/";//待处理图片路径 cv::String dest="/home/ze/data/";//保存处理后的图片路径 cv::String savefilename; vector<cv::String> filenames; Mat srcImg,dstImg; cv::glob(path,filenames);//glob 将路径里的图片读取到vector中 //void cv::glob ( String pattern,std::vector< String > & result,bool recursive = false) for(int i=0;i<filenames.size();++i) { srcImg=cv::imread(filenames[i]); srcImg.copyTo(dstImg); if(i<10) { savefilename=dest+"000"+to_string(i)+".png"; // /home/ze/data/000i.png cv::imwrite(savefilename,dstImg); //保存路径+图片 } if(i>=10&&i<99) { savefilename=dest+"00"+to_string(i)+".png"; cv::imwrite(savefilename,dstImg); } if(i>=100&&i<999) { savefilename=dest+"0"+to_string(i)+".png"; cv::imwrite(savefilename,dstImg); } if(i>=1000&&i<9999) { savefilename=dest+to_string(i)+".png"; cv::imwrite(savefilename,dstImg); } } return 0; }
顺利运行 但是很慢