Are the cell arrays in the Image field the correct sizes? why am i wrong?

2 visualizaciones (últimos 30 días)
folders = dir("photos");
folders = string({folders.name});
folders = folders(~startsWith(folders,"."))
% Preallocate the structure crashImages
crashImages(length(folders)) = struct("Name",folders(end),"Images",cell(1));
for k = 1:length(folders)
photos = dir("photos\" + folders(k));
photos = string({photos.name});
photos = photos(~startsWith(photos,'.'));
% preallocate the cell array images
images = cell(length(photos),1);
for kk = 1:length(photos)
im = imread("photos\" + folders(k) + "\" + photos(kk));
images{kk} = im;
end
crashImages(k).Name = folders(k);
crashImages(k).Images = images;
clear images
end
crashImages
  1 comentario
Stephen23
Stephen23 el 26 de Dic. de 2019
Editada: Stephen23 el 26 de Dic. de 2019
It is simpler and more robust to explicitly remove only the '.'and '..' names, and only keep folders' names (by using the isdir field):
S = dir('photos');
F = setdiff({S([S.isdir]).name},{'.','..'})

Iniciar sesión para comentar.

Respuestas (1)

Harsha Priya Daggubati
Harsha Priya Daggubati el 23 de Dic. de 2019
Editada: Harsha Priya Daggubati el 26 de Dic. de 2019
Hi,
Can you provide more information on what is not turning out as expected or the error you are getting.
  2 comentarios
Stephen23
Stephen23 el 6 de En. de 2020
Cetengfei Zhang's "Answer" moved here:
Hi, I am wondering if you solved this problem. Because I am also stucked in this section with 99% completion.
This question detail is from the Matlab self-paced course: Matblab Programming Techniques. 4.3 Preallocation: (6/6) Preallocation of Structure and Cell Arrays. task 2.
Preallocate memory for the cell array 'images' that is created within the outer for loop
However I always get error even the official solution is used.
Karla Ramirez
Karla Ramirez el 13 de En. de 2020
Hi!
I had the same issue and I opened a thechnical support case reporting the problem, and they told me that it was a known issue and that they are working on it.
The solution is to replace every instance of "\" with "/". Thats where the problem is.
Have a nice day.

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by