我有以下代碼將一個目錄下的多個圖像導入Matlab中的一個結構,下面是一個圖像的例子。在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
雖然現在我想對所有圖像進行填充,後來找到了重心。然而,當試圖這樣做時,出現一個錯誤:「預期的輸入數字1,I1或BW1是這些類型之一:double,... etc」我嘗試將圖像轉換爲雙精度,但這只是導致:「從細胞轉換爲雙倍是不可能的。「
這很可能是由於結構類型,圖像被「安置」在裏面,但我不知道這一點。
對此的幫助將不勝感激。
'C'不是結構,而是一個單元陣列(如你初始化它)。將圖像存儲在「常規」數組中會更有效。另外,由於您對所有圖像使用相同的結構元素,因此可以將其從循環中取出並僅定義一次。 –
你是否也想把大括號改爲正方括號?如果我這樣做,我得到這個錯誤:「從uint8轉換到單元格是不可能的。」 – Idrawthings