回 帖 发 新 帖 刷新版面

主题:求助:MATLAB中FOR循环使用

我想在MATLAB中用一个FOR循环连续读入并显示几个图像文件应该怎么写?比如:
for k=1:8
filename=sprintf('image_000%d.jpg',k);
f=imread(filename);
figure,imshow(f);
end
这样我只能读入一个文件,我现在想把8个图像文件分别读到f1,f2,...,f8中并显示出来应该怎么做呢?

回复列表 (共3个回复)

沙发

可能是显示的问题,因为用imshow,显示多图时,它是一张一张覆盖上去的,所以看到最后一张图

板凳

用eval命令,例如
可以把第三句换成
eval(['f' num2str(i) '=imread(filename);']);

3 楼

谢谢!问题解决了,最后的代码是:
for k=1:8
filename=sprintf('image_000%d.jpg',k);
eval(['f' num2str(k) '=imread(filename);']);
eval(['figure,imshow(f' num2str(k) ');']);
end

我来回复

您尚未登录,请登录后再回复。点此登录或注册