图片和视频的相互转换——Matlab
来源:互联网 发布:linux 恢复挂起 编辑:程序博客网 时间:2024/05/17 17:14
一、图片转换为moive
function im2movie(aviname, dirname)
% 将目录dirname中图片转换为avi电影(JPG图片)
% aviname:要保存的avi文件名
% dirname:文件所在的路径,最后不带"/"
t = cputime;
filename = dir(strcat(dirname, '/*.jpg')); % 读取目录中的文件名
for i = 1 : length(filename)
mov(i) = im2frame(imread(strcat(dirname, '/', filename(i).name)));
end
movie2avi(mov,aviname);
e = cputime - t
return
二、moive转换为图片
视频压缩格式有多种,要使用aviread读入视频,视频压缩格式需为:
VideoCompression: 'Cinepak'
VideoCompression: 'FMP4'和VideoCompression: 'XVID'
FMP4和XVID需先通过DVID转换软件转换为XVID,
然后再通过WinAvi转换软件转换为'Cinepak'压缩格式;
而 VideoCompression: 'Indeo5'可以直接通过WinAvi转换软件转换为'Cinepak'压缩格式
avi视频转换为'Cinepak'压缩格式后,就可以通过aviread读取,并通过aviinfo显示相关的视频信息
eg:
>> aviinfo('kids.avi')
ans =
Filename: 'kids.avi'
FileSize: 14548026
FileModDate: '21-Jul-2011 16:51:14'
NumFrames: 4488
FramesPerSecond: 29.9700 %帧速
Width: 448
Height: 336
ImageType: 'truecolor'
VideoCompression: 'FMP4' %压缩格式
Quality: 4.2950e+007
NumColormapEntries: 0
AudioFormat: 'Format #80'
AudioRate: 22050
NumAudioChannels: 1
function avi2im(AVIName)
%本程序的作用是将AVI视频转变成一帧帧的图像,AVIName为要处理的视频文件名,格式为avi,
%AVI视频默认存入在source目录下,在此AVIName不用写具体路径,只要是正确的文件名就可以了,
%转换成帧后的图像也默认存入source目录下。
%DirName是新建的下级文件夹,我们将把生成的图像存入此文件夹
% 一个avi视频转换成一帧一帧的程序
% 给大家提供一个avi视频转换成帧序列的程序
% 用法:建立一个source命名的文件夹,将avi视频放入,
% 调用avi2im('avi视频名称'),转换成的帧序列默认放入source文件夹下。
%要安装相应的解码器
AVIName=strcat('source\',AVIName);
InfoAvi =aviinfo(AVIName); %得到AVI视频的技术信息
frmNum=InfoAvi.NumFrames;
mov=aviread(AVIName); %要安装相应的解码器,才能将AVI文件转换成movie文件
%mkdir('C:\MATLAB7\work\source\traffic1'); %新建下级文件夹,以存放生成的图片
for frm=1:frmNum
mov =aviread(AVIName,frm); %将avi视频信息读入帧
imName=strcat(AVIName,int2str(frm),'.jpg'); %编辑图像名称,使其能存入下级文件夹,且不重名
imwrite(mov.cdata,imName); %将图像信息存入文件,以便其它处理程序使用
end
function im2movie(aviname, dirname)
% 将目录dirname中图片转换为avi电影(JPG图片)
% aviname:要保存的avi文件名
% dirname:文件所在的路径,最后不带"/"
t = cputime;
filename = dir(strcat(dirname, '/*.jpg')); % 读取目录中的文件名
for i = 1 : length(filename)
mov(i) = im2frame(imread(strcat(dirname, '/', filename(i).name)));
end
movie2avi(mov,aviname);
e = cputime - t
return
二、moive转换为图片
视频压缩格式有多种,要使用aviread读入视频,视频压缩格式需为:
VideoCompression: 'Cinepak'
VideoCompression: 'FMP4'和VideoCompression: 'XVID'
FMP4和XVID需先通过DVID转换软件转换为XVID,
然后再通过WinAvi转换软件转换为'Cinepak'压缩格式;
而 VideoCompression: 'Indeo5'可以直接通过WinAvi转换软件转换为'Cinepak'压缩格式
avi视频转换为'Cinepak'压缩格式后,就可以通过aviread读取,并通过aviinfo显示相关的视频信息
eg:
>> aviinfo('kids.avi')
ans =
Filename: 'kids.avi'
FileSize: 14548026
FileModDate: '21-Jul-2011 16:51:14'
NumFrames: 4488
FramesPerSecond: 29.9700 %帧速
Width: 448
Height: 336
ImageType: 'truecolor'
VideoCompression: 'FMP4' %压缩格式
Quality: 4.2950e+007
NumColormapEntries: 0
AudioFormat: 'Format #80'
AudioRate: 22050
NumAudioChannels: 1
function avi2im(AVIName)
%本程序的作用是将AVI视频转变成一帧帧的图像,AVIName为要处理的视频文件名,格式为avi,
%AVI视频默认存入在source目录下,在此AVIName不用写具体路径,只要是正确的文件名就可以了,
%转换成帧后的图像也默认存入source目录下。
%DirName是新建的下级文件夹,我们将把生成的图像存入此文件夹
% 一个avi视频转换成一帧一帧的程序
% 给大家提供一个avi视频转换成帧序列的程序
% 用法:建立一个source命名的文件夹,将avi视频放入,
% 调用avi2im('avi视频名称'),转换成的帧序列默认放入source文件夹下。
%要安装相应的解码器
AVIName=strcat('source\',AVIName);
InfoAvi =aviinfo(AVIName); %得到AVI视频的技术信息
frmNum=InfoAvi.NumFrames;
mov=aviread(AVIName); %要安装相应的解码器,才能将AVI文件转换成movie文件
%mkdir('C:\MATLAB7\work\source\traffic1'); %新建下级文件夹,以存放生成的图片
for frm=1:frmNum
mov =aviread(AVIName,frm); %将avi视频信息读入帧
imName=strcat(AVIName,int2str(frm),'.jpg'); %编辑图像名称,使其能存入下级文件夹,且不重名
imwrite(mov.cdata,imName); %将图像信息存入文件,以便其它处理程序使用
end
- 图片和视频的相互转换——Matlab
- 视频和图片的相互转换
- 视频和图片的相互转换
- 图片视频相互转换
- OpenCV 图片与视频的相互转换
- opencv,图片视频相互转换
- OpenCV|图片与视频的相互转换(C++&Python)
- 图片和byte的相互转换
- 图片和Canvas的相互转换
- OpenCV+C++ 视频图片相互转换
- OpenCV视频与图片序列相互转换
- OpenCV 视频与图片序列相互转换
- Matlab中RGB和HSI的相互转换
- matlab中 mat的文件和txt文件相互转换
- Matlab中RGB和HSI的相互转换
- 图片和字符串相互转换
- javabase64和图片相互转换
- 图片和字节相互转换
- poj 3737 UmBasketella
- yii gii的使用
- 001 走上移动开发之安卓项目实战(百度地图:建立百度地图开发环境)
- 租用游艇问题
- struts2+functinchart+json+ajax
- 图片和视频的相互转换——Matlab
- jQuery 2.0发布不再支持IE 6/7/8浏览器
- 周六早8点回龙观登山大地-黑坨山-九眼楼-庄户赏花穿越一日
- 表达式的优先级/结合性/求值顺序
- 计算机常用端口号
- mysql存储过程使用
- 并行算法之前缀和
- Python学习笔记—PyQuery库的使用总结
- Linux上的free命令详解