how can save some 3d images in a 4d array?

7 Ansichten (letzte 30 Tage)
sara
sara am 8 Okt. 2014
Kommentiert: sara am 8 Okt. 2014
how can save some 3d images in a 4d array? I use this code:
if true
folder = 'C:\Users\sara\Desktop\inodastnazan\azmayeshi';
files = dir([folder '\*.tiff']);
array4d = zeros(512, 512,3, numel(files));
for slice = 1:numel(files)
filename = [folder files(slice).name];
array4d(:,:,:,slice) = strcat(filename) ;
end end
but I have this error
if true
Subscripted assignment dimension mismatch.
end
.... thanks

Akzeptierte Antwort

Image Analyst
Image Analyst am 8 Okt. 2014
You're not even reading in the images. You're just concatenating filename strings. Try inserting images.
folder = 'C:\Users\sara\Desktop\inodastnazan\azmayeshi';
files = dir(fullfile(folder, '*.tiff'));
array4d = zeros(512, 512,3, numel(files));
% Loop over filenames, inserting the image.
for slice = 1 : length(files)
filename = fullfile(folder, files(slice).name);
thisImage = imread(filename);
[rows, columns, numberOfColorChannels) = size(thisImage);
if numberOfColorChannels < 3
message = 'Error: Image is not RGB Color!';
uiwait(warndlg(message));
continue;
end
if rows ~= 512 || columns ~= 512
message = 'Error: Image is not 512x512!';
uiwait(warndlg(message));
continue; % Skip this image.
end
% Image is okay. Insert it.
array4d(:,:,:,slice) = thisImage;
end

Weitere Antworten (0)

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by