Как мне создать массив изображений в Matlab - PullRequest
0 голосов
/ 28 ноября 2011

Я читаю одно за другим изображения из каталога и хочу создать массив изображений с этим для передачи моей функции mexFunction, которая обрабатывает эти изображения.То, что я попробовал до сих пор, не работает.Допустим, у меня есть 100 изображений 256x256, когда я делаю

 directory = uigetdir; fileList = dir(directory); imageVolume= [];

for idx = 3:numel(fileList)

     tempImage = imread(fullfile(directory, fileList(idx).name));
    imageVolume= [imageVolume tempImage]; 
 end

. Когда я это делаю, я не получаю массив 256x256xn, вместо этого я просто получаю изображение 256x (256 * n), котороене то, что я хочу.Есть идеи?

Ответы [ 2 ]

2 голосов
/ 28 ноября 2011

Используйте ячейки.Предполагая, что остальная часть вашего кода верна:

for idx = 3:numel(fileList)
     tempImage{idx} = imread(fullfile(directory, fileList(idx).name));
end
1 голос
/ 28 ноября 2011

Использование массивов ячеек, как @bjornsen предложил работы.Если вы не хотите использовать массивы ячеек, вы можете использовать 3-мерные матрицы:

imageVolume(:,:,idx) = tempImage;

Вы должны быть уверены, что все изображения имеют одинаковый размер.В противном случае вам лучше использовать массивы ячеек.

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