Ich habe den folgenden Code, um mehrere Bilder aus einem Verzeichnis in eine Struktur in Matlab zu importieren, hier ist ein Beispiel für die Bilder.Füllen mehrerer Bilder in Matlab
myPath= 'E:\conduit_stl(smooth contour)\Collagen Contour Slices\'; %'
fileNames = dir(fullfile(myPath, '*.tif'));
C = cell(length(fileNames), 1);
for k = 1:length(fileNames)
filename = fileNames(k).name;
C{k} = imread(filename);
se = strel('disk', 2, 0);
C = imclose(C, se);
filled = imfill(C,'holes');
end
Obwohl jetzt später Ich mag eine Füllung auf alle Bilder durchführen würde, die Schwer zu finden. Wenn jedoch dies versucht wird, ein Fehler, der besagt: "Erwartete Eingangsnummer 1, I1 oder BW1, um einer dieser Typen zu sein: doppelt, ... usw." Ich habe versucht, die Bilder in doppelte Genauigkeit zu konvertieren, obwohl das gerade dazu führte: Konvertierung in Double von Zelle ist nicht möglich. "
Das liegt wahrscheinlich an dem Strukturtyp, in dem die Bilder "untergebracht" sind, aber ich habe keine Ahnung davon.
Hilfe zu diesem würde sehr geschätzt werden.
'C' keine Struktur, sondern ein Zellenfeld (wie Sie es initialisiert). Das wäre effizienter, um Ihre Bilder in einem "normalen" Array zu speichern. Da Sie für alle Bilder das gleiche strukturierende Element verwenden, können Sie es auch aus der Schleife herausnehmen und nur einmal definieren. –
Wollen Sie auch die geschweiften Klammern in reguläre Klammern ändern? Wenn ich das tue, erhalte ich diesen Fehler: "Umwandlung zu Zelle von uint8 ist nicht möglich." – Idrawthings