Как получить изображения из массива ячеек в MAT-файле? - PullRequest
0 голосов
/ 05 мая 2011

Я использовал следующий код для получения нескольких (64) изображений в MAT-файл:

D = dir('*.wav');

wavcell = cell(1,numel(D));

for i = 1:numel(D)

  wavcell{i} = wavread(D(i).name);

end

Однако теперь я не могу получить изображения ни из одной из матриц, которые есть в этом MAT-файле. Он содержит структурный массив 64x1 (D), массив ячеек 1x64 (imcell) и массив с одним числом в нем (64) (i).

Мне нужно иметь доступ к отдельным изображениям в массиве ячеек для использования в эксперименте с psychtoolbox.

Любая помощь будет получена БЕСПЛАТНО !!

1 Ответ

0 голосов
/ 05 мая 2011

Первая проблема, которую я вижу: вы загружаете файлы WAV, которые являются аудио файлами, а не изображениями файлами. Сначала вы должны попытаться исправить эту ситуацию.

Убедившись, что вы загружаете нужный тип данных (например, изображения), вы можете получить данные из MAT-файла, который вы создали, несколькими способами с помощью LOAD * 1008. * команда:

load('your_file.mat');           %# Loads all the variables in the file
%# OR
load('your_file.mat','imcell');  %# Loads just the variable imcell

Теперь у вас будет переменная в локальном рабочем пространстве с именем imcell, которая будет массивом данных изображения. Чтобы индексировать содержимое массива ячеек , вы должны использовать фигурные скобки {} примерно так:

image1 = imcell{1};  %# Place the contents of the first cell into image1
...