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

1 Ansicht (letzte 30 Tage)
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 Kommentar
Stephen23
Stephen23 am 26 Dez. 2019
Bearbeitet: Stephen23 am 26 Dez. 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},{'.','..'})

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Harsha Priya Daggubati
Harsha Priya Daggubati am 23 Dez. 2019
Bearbeitet: Harsha Priya Daggubati am 26 Dez. 2019
Hi,
Can you provide more information on what is not turning out as expected or the error you are getting.
  2 Kommentare
Stephen23
Stephen23 am 6 Jan. 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 am 13 Jan. 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements 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