利用matlab将视频分帧成图片或将图片转成视频
来源:互联网 发布:javascript静态网页 编辑:程序博客网 时间:2024/04/29 08:16
前几日因为写论文有需要,我必须从视频里面提取图片。n年前,小编当时还是一名小菜之时(虽然现在也还是菜鸟一个),那时总是要到处找一些软件来实现分帧,但是现在视频太大了,软件不能够一下全部将视频图片转换,而且转换完所需内存太大。加上小编这人总是喜欢玩得high点,因此我就想能不能使用程序读取一帧,保存一帧,然后清空呢,再循环下去。
答案当然是可以的。平常对图像处理用的多的软件就是matlab了,今天小编就来和大家讲讲如何利用matllab 对视频进行分帧,以后大家对视频进行分帧或者将一张张图片整成视频就可以直接copy使用了
废话就不多唠了,来吧,程序走起
每个朋友它的需求总是不一样的,我还是把单纯的视频分帧程序也给挂出来吧
clc,clear; fileName = '1.avi'; obj = VideoReader(fileName); numFrames = obj.NumberOfFrames;% 帧的总数 for k = 1 : numFrames% 读取数据 frame = read(obj,k); imshow(frame);%显示帧 imwrite(frame,strcat(num2str(k),'.jpg'),'jpg');% 保存帧end
下面是时候展现真正的技术了,读取一张扔一张
clc; clear; %% 读取视频 video_file='***.avi'; //这里可以使用昨天小编教大家使用OPENCV自拍的视频为例哦 video=VideoReader(video_file); frame_number=floor(video.Duration * video.FrameRate); // 获取帧数,为下面循环准备 %% 分离图片 for i=1:frame_number image_name=strcat('****\', num2str(i)); image_name=strcat(image_name,'.jpg'); I=read(video,i); %读出图片 imwrite(I,image_name,'jpg'); %写图片 I=[]; end
又有人问到,小编,干脆也讲下如何将一帧帧图片合成视频吧。还有人问,小编,怎么把视频剪辑一下啊?
好吧,小编在再大家唠唠吧,谁让小编话多呢?程序走起。。。等等,小编,我是学文科的怎么办? 。。。。。,学文科的?开什么玩笑啊哥,取用爱剪辑吧,那个更适合你。
framesPath = 'F:\最新的fish1\'; %图像序列所在路径,同时要保证图像大小相同 ,如果不同,可用 resize() videoName = 'Bolt.avi'; %表示将要创建的视频文件的名字 fps = 30; %帧率 startFrame = 1; %从哪一帧开始 (玩爱剪辑的IT朋友,好好看) endFrame = 350; %哪一帧结束 if(exist('videoName','file')) delete videoName.avi // 判断下是否存在视频,小编个人习惯 end %生成视频的参数设定 aviobj=VideoWriter(videoName); %创建一个avi视频文件对象,开始时其为空 aviobj.FrameRate=fps; open(aviobj); %打开文件写入视频数据 %读入图片 for i=startFrame : endFrame // for循环,从哪一帧到哪一帧 fileName=sprintf('%04d',i); %根据文件名而定 我这里文件名是0001.jpg 0002.jpg .... frames=imread([framesPath,fileName,'.jpg']); writeVideo(aviobj,frames); end close(aviobj); % 关闭创建视频,养成良好习惯,别吵着别人
小编也是刚刚接触matlab 几个月,MATLAB中有丰富的图形处理能力,提供了绘制各种图形、图像数据的函数。他提供了一组绘制二维和三维曲线的函数,他们还可以对图形进行旋转、缩放等操作。内部还包含丰富的数学函数和数据类型,使用方便且功能非常强大。通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,使我在短时间内学会使用MATLAB的基本函数,同时,我们可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。
- 利用matlab将视频分帧成图片或将图片转成视频
- matlab将jpg图片转成avi视频
- matlab 将jpg图片转成avi视频代码
- matlab将视频转化为图片
- MATLAB 将jpg图片合成avi视频
- 用matlab 将图片序列导出视频
- MATLAB 将jpg图片合成avi视频
- 利用Opencv将图片转为视频
- 【opencv】基于opencv将视频帧转成图片输出
- matlab 将图片制作成视频并将视频输出为图片
- Opencv 视频转成图片+图片转成视频
- matlab之将视频逐帧保存为图片
- ffmpeg将图片合成视频
- ffmpeg将图片合成视频
- 将视频转换成图片
- ffmpeg将图片转为视频
- 图片种子或将成为视频行业新增长点
- 将文件或视频隐藏在图片里
- 百炼2791-矩形覆盖-C语言-动态规划
- spring的p名称空间
- 关于RPC
- linux学习-day002-Xshell远程登陆和SSH使用
- netty学习(四)事件传递
- 利用matlab将视频分帧成图片或将图片转成视频
- URG-PSH
- 二分查找的实现
- React Native 第五天
- HTML中的三种定位方式
- String相关面试题
- 【mongodb】日常开发须知(基础版)
- gradle导入开源工程常见的错误(持续更新中)
- 有一位做送料机械的王工电话来问到我永坤齿轮减速机