MATLAB视频读写转换

实验报告 MATLAB视频读写转换

一、程序目的
创建以YUVtoJPEG为名称的M文件,读取CIF格式的YUV文件mobile_cif_300f.yuv的前30帧,并逐一以jpg格式保存各视频帧至当前目录下,视频帧帧号命名相对应的jpg图片!
二、运行环境
Matlab平台,编写M程序实现。
三、程序代码

function YUVtoJPEG()
for frame=1:30
  [y1,u1,v1]=ReadMultiFrames('mobile_cif_300f.yuv','cif',[frame,frame];
    u2=imresize(u1,2,'bicubic');
    v2=imresize(v1,2,'bicubic');
    fid=fopen('mobile_cif_300f.yuv','r');
    R = 1.140*v2 + y1;
    G=y1-0.394*u2-0.581*v2;
    B=2.03*u2+y1;
    fseek(fid,8,'bof');
efos=feof(fid);
if (efos~=1) 
  im_sub=cat(3,R,G,B);  
imwrite(im_sub,['C:\Users\zhang\Desktop\aaa',num2str(frame),'.jpg']);
 end
end

四、运行结果
在这里插入图片描述

五、实验总结
通过此次实验,了解并学会如何进行Mtlab的视频读写操作,Matlab进行视频读写操作过程中,首先要能读取单帧图片,然后对图片进行处理分析。
有的视频文件,原文件播放正常,但到matlab里也能播放但就是奇慢无比,这是转换过程中把帧率设的慢了,需要重新转换,在转换工具的设置里设帧率。

猜你喜欢

转载自blog.csdn.net/escFAJ/article/details/107698111