Как хранить гетерогенные объекты в Matlab? - PullRequest
1 голос
/ 29 сентября 2010

Мне нужно сделать пирамиду изображений в matlab для одного из моих заданий.Хотя существуют встроенные методы получения отдельных изображений в пирамиде, я не совсем понимаю, как хранить маркеры для изображений.(У меня нет большого опыта работы с matlab)

Массивы не работают, поскольку изображения в пирамиде имеют разный размер.Я ищу что-то вроде списка в .net или arraylist в Java.В связном списке MATLAB говорится, что вы можете использовать стандартные классы Java, но matlab завис, когда я пытался использовать массив Java.Итак, каков наилучший способ хранения коллекции разнородных данных (или дескрипторов?) В 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 Ответ

2 голосов
/ 29 сентября 2010

Итак, проведя дальнейшие поиски, я обнаружил, что называется ячейкой, которая в основном выглядит как неоднородный массив.(/1981057/kak-konkatenatsiya-i-indeksirovanie-otlichaytsya-dlya-yacheek-i-massivov-v-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

Это, кажется, очень удобный способ обработки разнородных данных. Правильный ли это способ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...