MATLAB视频转图片,图片转视频

视频转图片

clc;
clear all;
close all;
%% 将视频逐帧保存为jpg图片
obj = VideoReader('D:/video_test/yolotest.mp4');%输入视频位置
numFrames = obj.NumberOfFrames;% 帧的总数
numzeros= 4;%图片name长度
nz = strcat('%0',num2str(numzeros),'d');
for k = 1:15% 读取前15帧
    frame = read(obj,k);%读取第几帧
    id=sprintf(nz,k);
    imwrite(frame,strcat('D:/image/',id,'.jpg'),'jpg');% 保存帧
end

图片转视频

clear 
myObj = VideoWriter('a.avi');%初始化一个avi文件
myObj.FrameRate = 25;
open(myObj);
for i=1:1400%图像序列个数
    fname=strcat('1-',num2str(i),'.jpg');
    frame = imread(fname);
    writeVideo(myObj,frame);
end
close(myObj);
i
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用MATLAB中的VideoWriter函数将一系列图像换成视频。 首先,您需要将要换的图像存储在一个文件夹中,然后使用MATLAB中的imread函数将它们读取到一个cell数组中。例如: ```matlab imgFolder = 'path/to/image/folder'; imgFiles = dir(fullfile(imgFolder, '*.jpg')); numFrames = length(imgFiles); for i = 1:numFrames img{i} = imread(fullfile(imgFolder, imgFiles(i).name)); end ``` 接下来,使用VideoWriter函数创建一个视频文件并设置其属性,例如帧率、视频格式、视频大小等。例如: ```matlab outputVideo = VideoWriter('output.avi'); outputVideo.FrameRate = 30; outputVideo.Quality = 100; open(outputVideo); ``` 最后,将图像写入视频文件中。例如: ```matlab for i = 1:numFrames writeVideo(outputVideo, img{i}); end ``` 完成后,关闭视频文件: ```matlab close(outputVideo); ``` 完整的代码示例: ```matlab imgFolder = 'path/to/image/folder'; imgFiles = dir(fullfile(imgFolder, '*.jpg')); numFrames = length(imgFiles); for i = 1:numFrames img{i} = imread(fullfile(imgFolder, imgFiles(i).name)); end outputVideo = VideoWriter('output.avi'); outputVideo.FrameRate = 30; outputVideo.Quality = 100; open(outputVideo); for i = 1:numFrames writeVideo(outputVideo, img{i}); end close(outputVideo); ``` 请注意,VideoWriter函数只能在Windows和Linux上使用,不能在macOS上使用。如果您使用macOS,可以尝试使用FFmpeg或其他第三方软件来将图像换为视频
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值