MATLAB视频转图片保存

完整代码

videoRead = VideoReader('F:\BaiduNetdiskDownload\12月10号摘取-12月2号48号仓\AVI\hiv00187.avi');
numFrames = videoRead.NumberOfFrames;
for j = 1 : 25 : numFrames
    frame = read(videoRead,j);
    imwrite(frame,['F:\BaiduNetdiskDownload\标点视频帧\hiv187\'  num2str(j,'%05d') '.jpg']);
end

代码解析

videoRead = VideoReader(); 读取视频文件的地址

numFrames = videoRead.NumberOfFrames; 获取整个视频的帧数

for j = 1 : 25 : numFrames 从视频第一帧到最后一帧,每隔25帧截取一张图片,且把当前帧数赋值给变量 j

frame = read(videoRead,j); 获取第 j 帧

imwrite(frame,['F:\hiv187\00001.jpg']);  将frame图像存入F盘下hiv187文件目录下,图像格式为jpg

%5d 图像命名格式为五位整数,例如:00001.jpg

num2str 是把当前帧数数字转成字符串,作为图像命名保存

MATLAB实现界面(点击运行即可)

在这里插入图片描述

可能遇到的问题

在这里插入图片描述
这个原因是你当前使用的 MATLAB 不支持 MP4 格式的视频文件,需要转成 AVI 格式才行

大家可以下载格式工厂软件来进行视频转码,还是挺好用的,可以批量转
这是格式工厂的下载链接:http://www.pcgeshi.com/

以下是软件界面
在这里插入图片描述
视频的目录和保存图片的路径都要正确,否则运行也会报错哦!!!

猜你喜欢

转载自blog.csdn.net/weixin_42899627/article/details/106828767