如何在matlab中存储异构对象?

时间:2010-09-29 09:12:16

标签: matlab

我需要在matlab中为我的一个作业制作一个图像金字塔。虽然有内置的方法来获取金字塔中的单个图像,但我对如何将句柄存储到图像感到困惑。 (我对matlab没有多少经验)

阵列不起作用,因为金字塔中的图像大小不同。我正在寻找像.net中的列表或Java中的arraylist。在MATLAB linked list中,他们说你可以使用标准的Java类,但是当我尝试使用java的arraylist时,matlab会挂起。那么,在matlab中存储异构数据集合(或句柄?)的最佳方法是什么?

EDIT1:无效的代码:

im0 = imread('..\lenna-lg.jpg'); //im0 = 480*480*3 array
im1 = impyramid(im0,'reduce');  //im1 = 240*240*3 array
pyramid = [ im0, im1 ];  //Error : Error using ==> horzcat
                         //CAT arguments dimensions are not consistent.

1 个答案:

答案 0 :(得分:2)

因此,通过进一步搜索,我发现了所谓的单元格,它基本上似乎是一个异构数组。 (http://stackoverflow.com/questions/2662964/cell-and-array-in-matlab)。所以下面的代码现在正在使用

im0 = imread('..\lenna-lg.jpg'); //im0 = 480*480*3 array
im1 = impyramid(im0,'reduce');  //im1 = 240*240*3 array
cell = [ {im0}, {im1} ];  //cell = 1*2 cell
ans = cell{1};            //ans = 480*480*3 array

这似乎是处理异构数据的一种非常方便的方法。这是解决这个问题的正确方法吗?