Image 显示来自阵列的图像

Image 显示来自阵列的图像,image,matlab,Image,Matlab,我只想一个接一个地遍历一个图像数组,但我无法让它工作,我得到了下面的错误。我可以通过imshow(a)显示单个图像,但不能遍历数组 使用getImageFromFile时出错(第12行) 找不到指定的文件:“a” imageDisplayParseInputs中出错(第74行) [common\u args.CData,common\u args.Map]= imshow中的错误(第198行) [常用参数,特定参数]= 代码 谢谢。我已经有一段时间没有学习matlab了,所以我很难记住语法,但是

我只想一个接一个地遍历一个图像数组,但我无法让它工作,我得到了下面的错误。我可以通过imshow(a)显示单个图像,但不能遍历数组

使用getImageFromFile时出错(第12行) 找不到指定的文件:“a”

imageDisplayParseInputs中出错(第74行) [common\u args.CData,common\u args.Map]=

imshow中的错误(第198行) [常用参数,特定参数]=

代码


谢谢。

我已经有一段时间没有学习matlab了,所以我很难记住语法,但是我很确定您的问题是位图是由一个二维数组组成的,您正在将它放入另一个数组中

因此,当您不使用t(1)时,您不会得到整个位图,而只是一个元素

首先试着向matlab询问t的形状。语法让我摸不着头脑,已经有一段时间了。 然后使用所需的语法提取所需的二维矩阵


希望这对您有所帮助。

您的代码中存在一些错误。 首先,验证图像所在的目录是否位于Matlab的路径中,或者尝试添加图像位置的完整路径。 我建议使用单元格数组来包含所有文件名。在问题中,您所采用的方法是将所有字符串连接到一个长字符串,即

t =

redsquare.bmpbluesquare.bmpgreysquare.bmpyellowsquare.bmp
因此,在代码更改
t
中:

t = {a, b, c, d}; % note the curly brackets
在循环中,您需要先将图像读取到数组中,然后再显示它,因此需要添加一行
imread
。将文件读入数组(称为数组
im
)后,可以使用
imshow
对其进行打印。总之,循环中的代码应该是:

for n=1:numel(t)
   im=imread(t{n}); 
   imshow(im);
end

再次注意,我在
imread
行中使用了花括号
{}
,这是提取单元格元素内容的方法。

谢谢!正是我需要的。是否可以仅检索项目1-3?因此,我不想用n=1:nume1(t)来使用单元格数组中的所有内容,我只想得到前三项。当然,对于n=1:3或者对于n=[1 2 4]或者对于n=[1 2 1 3 1 4]等等,只要记住这些索引对应于
a-d
文件名,您可以将它们安排到任何您想要的位置。。。
for n=1:numel(t)
   im=imread(t{n}); 
   imshow(im);
end