声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1277|回复: 4

[编程技巧] 关于抓取视频图像的程序讨论

[复制链接]
发表于 2007-7-20 15:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我用下面的程序来抓取视频的图像,但是一运行就死机,请大家看一下,提点意见:
function avi2pic()
mov=aviread('F:\bao.avi');
temp=size(mov);
fnum=temp(2);
for i=1:fnum,
strtemp=strcat(int2str(i),'.','jpg');
imwrite(mov(i).cdata(:,:,:),mov(i).colormap,strtemp);
end
下面是运行后的报警:
mov=aviread('F:\bao.avi');
Warning: File: E:\MATLAB6p5\toolbox\matlab\iofun\aviinfo.m Line: 311 Column: 1
Variable 'length' has been previously used as a function name.
(Type "warning off MATLAB:mir_warning_variable_used_as_function" to suppress this warning.)
> In E:\MATLAB6p5\toolbox\matlab\iofun\aviread.m at line 46
回复
分享到:

使用道具 举报

发表于 2007-7-20 15:29 | 显示全部楼层
原帖由 ssdqsse 于 2007-7-20 15:12 发表
我用下面的程序来抓取视频的图像,但是一运行就死机,请大家看一下,提点意见:
function avi2pic()
mov=aviread('F:\bao.avi');
temp=size(mov);
fnum=temp(2);
for i=1:fnum,
strtemp=strcat(int2str(i ...


估计在 bao.avi 中,出现了一个变量名为 length。其实这个只是警告,你大可以不用理会

[ 本帖最后由 eight 于 2007-7-20 16:10 编辑 ]
 楼主| 发表于 2007-7-20 16:06 | 显示全部楼层
请说得明白些,因为我是初学者...麻烦你了
发表于 2007-7-20 16:19 | 显示全部楼层
呵呵,我帮你试试了。
clear;
mov=aviread('176.avi',1:10:140);%在这里定义抓拍的起始帧和帧间隔,否则会因为在读入的时候特别慢或者出现内存溢出的错误
temp=size(mov);
fnum=temp(2);
for i=1:fnum;
strtemp=strcat(int2str(i),'.','jpg');
imwrite(mov(i).cdata(:,:,:),strtemp);
end
注意imwrite的用法,在matlab里avi的图像会有2中不同的结构(详见aviread的帮助文档),写文件的时候会有所不同。
附图是我抓拍的效果

[ 本帖最后由 花如月 于 2007-7-20 16:24 编辑 ]
temp.jpg

评分

1

查看全部评分

发表于 2007-7-21 08:52 | 显示全部楼层
这个功能很不错啊,受教了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-18 20:45 , Processed in 0.064911 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表