声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5116|回复: 13

[编程技巧] 求教:如何用matlab将几张图片变成连续的动画

[复制链接]
发表于 2008-12-11 21:59 | 显示全部楼层 |阅读模式

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

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

x
如何用matlab, 将E:\matlab\program2目录下命名为 1.jpg , 2.jpg, 3.jpg ...
图片变成连续的动画,网上有问的,就是没能用的答案,急啊

这是百度知道里合成视频的程序,但【im(:,:,:,i)=imread(strcat(num2str(i),'.jpg')); 】一直有问题啊,高手给解释下吧

clear; pic=dir('.\*.jpg');

%取文件的数量:num
a=size(pic); num=a(1);

for i=1:num
   im(:,:,:,i)=imread(strcat(num2str(i),'.jpg'));
   imshow(im(:,:,:,i)); M(i) = getframe;
end

movie2avi(M,'out.avi','FPS',1)%输出视频

[ 本帖最后由 ChaChing 于 2009-9-2 10:30 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-12-11 22:59 | 显示全部楼层

回复 沙发 culiuxia 的帖子

检查一下pic和strcat(num2str(i),'.jpg')是不是你想要的先。
发表于 2008-12-11 23:03 | 显示全部楼层

回复 板凳 zjgydxcbt 的帖子

请问具体报的什么错误?
 楼主| 发表于 2008-12-11 23:05 | 显示全部楼层

回复 5楼 ch_j1985 的帖子

??? Error: File: picture.m Line: 6 Column: 45
Unbalanced or unexpected parenthesis or bracket.

这个
发表于 2008-12-11 23:14 | 显示全部楼层

回复 6楼 culiuxia 的帖子

2楼的程序没有报错,有警告但不影响
发表于 2008-12-12 11:27 | 显示全部楼层
楼主提供的程序, 的确如ch说的有警告, 且需要有Image Processing Toolbox (imshow)
我现在用的无Image工具箱, 参考如下亦可
dd=dir('*.jpg'); cc=struct2cell(dd); cc=sort(cc(1,:));
for k=1:length(cc), [aa,mm]=imread(char(cc(k))); M(k)=im2frame(aa,mm); end
movie2avi(M,'ppp');
但在v6.5版是会报错, 而在v7.0版是有警告不会报错, 原因我猜有bug吧!
 楼主| 发表于 2008-12-12 12:43 | 显示全部楼层

回复 8楼 ChaChing 的帖子

Error in ==> picture at 9
movie2avi(M,'ppp');

不行哦,:handshake
 楼主| 发表于 2008-12-12 12:43 | 显示全部楼层

回复 5楼 ch_j1985 的帖子

但是没法运行
发表于 2008-12-12 13:36 | 显示全部楼层

回复 9楼 culiuxia 的帖子

楼主使用的版本?
 楼主| 发表于 2008-12-12 14:42 | 显示全部楼层

回复 11楼 ChaChing 的帖子

MATLAB R2008a
这个
是版本的影响吗
发表于 2008-12-12 15:00 | 显示全部楼层

回复 12楼 culiuxia 的帖子

I don't known !
在v6.5版是会报错, 而在v7.0版是有警告但不会报错!
发表于 2008-12-12 22:05 | 显示全部楼层

回复 12楼 culiuxia 的帖子

我的也是MATLAB R2008a,没有报错
 楼主| 发表于 2008-12-14 16:39 | 显示全部楼层
我自己终于弄出来了,和给的是大同小异的
不过还是分享下吧,希望能对一些人有用

图片直接在编译的文件目录内
for n=1:15
A=imread([int2str(n),'.jpg']); %批量读入图片
imshow(A);
f(n) = getframe;
pause(0.1);
end

评分

1

查看全部评分

发表于 2008-12-14 17:51 | 显示全部楼层

回复 15楼 culiuxia 的帖子

A=imread([int2str(n),'.jpg']); 批量读入图片
注意中英文字符
A=imread([int2str(n),'.jpg']); %批量读入图片
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-14 00:55 , Processed in 0.069784 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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