[求助]怎样从一个文件夹中连续自动地读取多幅图片啊?
毕业设计求助,怎么从一个文件夹中自动地连续读取多幅图片呢?<BR>imread只能读取一幅,并且imread读取的图片是人为地赋值给的。<BR>曾经设想用for循环如下:<BR>for i=0:9<BR> I = imread('i.jpg');<BR> figure(i+1);<BR> imshow(I);<BR>end<BR>但是运行后发现,imread把i.jpg当成图像名了,根本达不到让i从0到9的变化。<BR>哪位大虾有好的办法,能告诉我吗?<BR>先谢谢了!!! 大家帮帮我啊<BR>在线等 figure(i+1);<BR>这个是做什么的 q:我作了个200次的for循环,
每次均需输出一幅图像,有没有自动将图像输出成jpg格式、所有的图片存于一个文件夹中的办法?
另外每次还输出一个数值,可不可以将200个数值输出到一个excel表中?
谢谢各位!
a:
% matlabwy
for k=1:200;
R=rand(200);
imwrite(R,['Liu',num2str(k),'.jpg']);
r=rand;
d(k)=r;
end
dd=d';
save liu.xls dd -ASCII
q:
谢谢,但是我看了一下,imwrite处理的好像必须是数字矩阵,
因为我处理的需要拟合,我画图时使用了 hold on(先画出散点图,再hold on,画出拟合直线),而且200张图片必须加上各自的标题作为标注,还有格网,这又如何处理呢?可不可以把Figure中已画好的图像保存成jpg格式呢?
谢谢!
a:
象下面这样就可以了
% 批量保存图片和数据的例子
if ~exist('liu')
mkdir('liu')
end
paths=;
for k=1:3;
figure;
R=rand(200);
imshow(R,[]);
axis on
saveas(gcf,);
close
r=rand;
d(k)=r;
end
dd=d';
save liu.xls dd -ASCII================================================
萝卜的做法,个人比较推荐 <DIV class=quote><B>以下是引用<I>iewoug</I>在2006-6-6 10:08:39的发言:</B><BR>figure(i+1);<BR>这个是做什么的</DIV><BR>对每一幅将要显示的图像,产生一个空白的显示界面,以免让后面的图像把前面的图像覆盖。我的这个程序只是测试一下能否把多幅图像连续地读出 谢谢bainhome的提示
我在 [公告]振动论坛FAQ(1.0版)之Matlab---pdf版 中找到答案了
现把方法粘在下面:(原文引用)
Q:如何在matlab 中实现将图片文件夹下的图片连续读取,并显示
A:例如当前目录下有n个jpg文件要显示,如果不是当前目录加个路径也很容易,这里就不再考虑这个问题了
filename=dir(*.jpg);
那么第i个文件的文件名就可以表示为< BR>filename(i).name
下面怎么读取,怎么显示就不用说了吧
回复:(liuyh)[求助]怎样从一个文件夹中连续自动地读...
论坛还是有不少好东西的,这个问题我见过好多帖子了[ 本帖最后由 花如月 于 2007-7-30 20:12 编辑 ]
回复:(liuyh)[求助]怎样从一个文件夹中连续自动地读...
好贴!<BR>谢谢,从中受益! <P>同问</P> 多谢分享,欢迎大家积极发表原创帖 此贴为重复贴,原来都有多人问过,给出了详细解决方法的. 受益非浅 好贴 我还是不太明白怎么读取的,那位大哥大姐受累讲讲可以么,谢谢了回复上楼
filename=dir('*.jpg');for i=1:length(filename)
if i>3%只显示前3副
break;
else
I=imread(filename(i).name);
figure,imshow(I);
end
end
页:
[1]