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

3 次查看(过去 30 天)
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

采纳的回答

Image Analyst
Image Analyst 2014-10-8
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by