Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何将avi文件转换为yuv 420(软件/ matlab /源代码/ c / c ++任何东西)

伙计们,我想将avi文件转换为yuv 420视频剪辑。有什么方法可以做到吗?谢谢!



回答:

您可以使用内置的mmreader类将AVI文件读取到MATLAB 。将AVI帧读入电影帧的结构数组后,可以使用此提交中的MathFile File Exchange中的saveFileYuv函数将它们保存为YUV文件:
您的代码可能看起来像这样:

%# Get the video data: vidObj = mmreader('myVideo.avi'); %# Create a video file object nFrames = vidObj.NumberOfFrames; %# Get the number of frames vidHeight = vidObj.Height; %# Get the image height vidWidth = vidObj.Width; %# Get the image width %# Preallocate the structure array of movie frames: mov(1:nFrames) = struct('cdata',zeros(vidHeight,vidWidth,3,'uint8'),... 'colormap',[]); %# Note that colormap is empty! %# Read each video frame into the structure array: for k = 1:nFrames mov(k).cdata = read(vidObj,k); %# Place frame k in the cdata field of mov(k) end %# Save the movie frame array as a YUV 4:2:0 file: saveFileYuv(mov,'myVideo.yuv',1);

更多&回答...
poster 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 06:47


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.