我正在尝试迭代我的cell
数组并对每个存储在那里的图像进行子绘图。
请参阅我的代码:
for i=1:96
for j=1:9
subplot(ceil(sqrt(960)),ceil(sqrt(960)),i)
imshow(trainingData{2}{i}{j})
end
end
我有96个单元格(在i
列中),每个单元格包含10个图像(j
列)(其中我想绘制的前9个)。
我知道这是非常没有意义的,因为它们太小了,但是我已经开始了,似乎我无法让它按照我的想法工作,我真的很想知道我在哪里出错之前我只是算了吧。 (无论如何,该节目未来可能会有更少的图像。)
到目前为止,它只划分了96个条目;它应该是864:
如果我的数据结构让您感到困惑,这里有一点解释:
trainingData
是我加载的Mat文件,如果要访问人名,第一列需要1,如果想要他们的图像,则需要2。第二列包含96个人(从1到96.第三列是该人的10张照片。
eg. trainingData{2}{56}{7} accesses the 56th persons 7th photo.
我相信很多人会将此视为非正统的数据结构,但这就是我当时想到的。感谢。
答案 0 :(得分:2)
问题似乎是
行subplot(ceil(sqrt(960)),ceil(sqrt(960)),i)
导致内循环中的9个图像在同一个子图中被覆盖(因此只能看到最后一个)。将其更改为
subplot(ceil(sqrt(960)),ceil(sqrt(960)),(i-1)*9+j)
以便使用所有子图。