声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5145|回复: 14

[图像处理] [求助]怎样从一个文件夹中连续自动地读取多幅图片啊?

 关闭 [复制链接]
发表于 2006-6-6 08:24 | 显示全部楼层 |阅读模式

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

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

x
毕业设计求助,怎么从一个文件夹中自动地连续读取多幅图片呢?<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>先谢谢了!!!
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-6-6 09:56 | 显示全部楼层
大家帮帮我啊<BR>在线等
发表于 2006-6-6 10:08 | 显示全部楼层
figure(i+1);<BR>这个是做什么的[em03]
发表于 2006-6-6 10:14 | 显示全部楼层
q:
我作了个200次的for循环,
每次均需输出一幅图像,有没有自动将图像输出成jpg格式、所有的图片存于一个文件夹中的办法?
另外每次还输出一个数值,可不可以将200个数值输出到一个excel表中?
谢谢各位!

a:
  1. % matlabwy
  2. for k=1:200;
  3. R=rand(200);
  4. imwrite(R,['Liu',num2str(k),'.jpg']);
  5. r=rand;
  6. d(k)=r;
  7. end
  8. dd=d';
  9. save liu.xls dd -ASCII
复制代码


q:
谢谢,但是我看了一下,imwrite处理的好像必须是数字矩阵,
因为我处理的需要拟合,我画图时使用了 hold on(先画出散点图,再hold on,画出拟合直线),而且200张图片必须加上各自的标题作为标注,还有格网,这又如何处理呢?可不可以把Figure中已画好的图像保存成jpg格式呢?

谢谢!
a:
象下面这样就可以了

  1. % 批量保存图片和数据的例子
  2. if ~exist('liu')
  3. mkdir('liu')
  4. end
  5. paths=[pwd,'\liu\'];
  6. for k=1:3;
  7. figure;
  8. R=rand(200);
  9. imshow(R,[]);
  10. axis on
  11. saveas(gcf,[paths,'Liu',num2str(k),'.jpg']);
  12. close
  13. r=rand;
  14. d(k)=r;
  15. end
  16. dd=d';
  17. save liu.xls dd -ASCII
复制代码
================================================
萝卜的做法,个人比较推荐
 楼主| 发表于 2006-6-6 10:17 | 显示全部楼层
<DIV class=quote><B>以下是引用<I>iewoug</I>在2006-6-6 10:08:39的发言:</B><BR>figure(i+1);<BR>这个是做什么的[em03]</DIV><BR>对每一幅将要显示的图像,产生一个空白的显示界面,以免让后面的图像把前面的图像覆盖。我的这个程序只是测试一下能否把多幅图像连续地读出
 楼主| 发表于 2006-6-6 10:39 | 显示全部楼层
谢谢bainhome的提示

我在 [公告]振动论坛FAQ(1.0版)之Matlab---pdf版 中找到答案了

现把方法粘在下面:(原文引用)

Q:如何在matlab 中实现将图片文件夹下的图片连续读取,并显示
A:例如当前目录下有n个jpg文件要显示,如果不是当前目录加个路径也很容易,这里就不再考虑这个问题了
filename=dir(*.jpg);
那么第i个文件的文件名就可以表示为< BR>filename(i).name
下面怎么读取,怎么显示就不用说了吧
发表于 2006-6-6 10:53 | 显示全部楼层

回复:(liuyh)[求助]怎样从一个文件夹中连续自动地读...

论坛还是有不少好东西的,这个问题我见过好多帖子了

[ 本帖最后由 花如月 于 2007-7-30 20:12 编辑 ]
发表于 2006-6-23 21:53 | 显示全部楼层

回复:(liuyh)[求助]怎样从一个文件夹中连续自动地读...

好贴!<BR>谢谢,从中受益!
发表于 2006-6-23 23:49 | 显示全部楼层
<P>同问</P>
发表于 2006-6-24 12:59 | 显示全部楼层
多谢分享,欢迎大家积极发表原创帖
发表于 2006-7-19 11:02 | 显示全部楼层
此贴为重复贴,原来都有多人问过,给出了详细解决方法的.
发表于 2006-7-27 13:33 | 显示全部楼层
受益非浅
发表于 2006-7-27 14:19 | 显示全部楼层
好贴
发表于 2007-7-30 19:56 | 显示全部楼层
我还是不太明白怎么读取的,那位大哥大姐受累讲讲可以么,谢谢了
发表于 2007-7-30 20:28 | 显示全部楼层

回复上楼

filename=dir('*.jpg');
for i=1:length(filename)
if i>3  %只显示前3副
  break;
else
I=imread(filename(i).name);
figure,imshow(I);
end
end
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-24 01:14 , Processed in 0.062630 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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