%video to imgs
%matlab
clear
video_path = \'E:\\04_BIT_Seeker\\01_tracker\\01_dataset\\tracking_video_from_qihe\\\';
img_files = [video_path \'car1.mp4\'];
S = regexp(img_files, \'\\.\', \'split\');
img_dir = char(S{1});
mkdir(img_dir);
% fileName = sort({img_files.name});
obj = VideoReader(img_files);
num s = obj.NumberOf s;% 帧的总数
str = [];
for k = 1 : num s% 读取数据
= read(obj,k);
str = strcat(num2str(k),\'.jpg\')
% if(k<10)
% str = strcat(\'000\',str);
% elseif(k<100)
% str = strcat(\'00\',str);
% elseif(k<1000)
% str = strcat(\'0\',str);
% end
% imshow( );%显示帧
cd(img_dir)
mkdir(\'img\')
cd ./img
imwrite( ,str,\'jpg\');% 保存帧
cd ..
cd ..
end
//imgs to video
//c++
#include<opencv2\\opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
// 构造一个VideoWriter
VideoWriter video(\"girl.avi\", CV_FOURCC(\'M\', \'J\', \'P\', \'G\'), 25.0, Size(320, 240));
// 从一个文件夹下读取多张jpg图片
String pattern = \"D:\\\\AplusFile\\\\ComputerVision\\\\IR-Tracking\\\\trackingimages\\\\imagecut\\\\Girl\\\\img\\\\*.jpg\";
vector<String> fn;
glob(pattern, fn, false);
size_t count = fn.size();
cout << \"开始处理!\" << endl;
for (size_t i = 0; i < count; i++)
{
Mat image = imread(fn[i]);
// 这个大小与VideoWriter构造函数中的大小一致。
resize(image, image, Size(320, 240));
printf(\"%d\\n\", i);
// 流操作符,把图片传入视频
video << image;
}
cout << \"处理完毕!\" << endl;
// 处理完之后会在得到一个名为test.avi的视频文件。
}
继续阅读与本文标签相同的文章
上一篇 :
无需登机牌 即可“刷脸”登机
下一篇 :
IT合作伙伴转型难?一种方法值得借鉴
-
Kubernetes 入门必备云原生发展简史
2026-05-19栏目: 教程
-
Java B2B2C多用户商城 springcloud架构(一)
2026-05-19栏目: 教程
-
这些逼真的人像,真不知道是怎么画出这种质感的,佩服!
2026-05-19栏目: 教程
-
Python脚本bug或致上百篇论文出错
2026-05-19栏目: 教程
-
裂变方案:三大驱动力让用户主动分享裂变
2026-05-19栏目: 教程
