我需要在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.
答案 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
这似乎是处理异构数据的一种非常方便的方法。这是解决这个问题的正确方法吗?