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