2015-10-15 53 views
0

我得到一個包含103個不同尺寸單元的單元陣列。我的單元格數組中的每個單元格代表一個矩陣,並且可以顯示爲圖像。我如何提取for循環中的每個單元格(即每個矩陣)?從單元陣列保存無限矩陣

我知道如何一個接一個,但不是針對整個小區,這樣做:

image1 = cellArray{1}; % extract matrix 1 (on 103) from the cell array #1 
image2 = cellArray{2}; % and so on 

感謝您的幫助

+2

你想對提取的圖像做什麼?將它們分別提取到各自的矩陣中是一個非常糟糕的主意。人們可能會使用'eval'給你提供解決方案,但是**不要**去嘗試這條路線。而是向我們解釋您的最終目標,以便我們能夠提出更明智的解決方案。 – Dan

+0

感謝您的回答。實際上,我想在每個圖像上處理一個蛇算法(活動輪廓)(每個矩陣或每個圖像代表我想要從光柵圖像中提取的上百個要素之一)。 – rdmato33

+0

在單個圖像上運行所述算法的輸出將使用哪種形式/數據類型? – Dan

回答

0

循環的最簡單的方式,通過你的單元陣列,並適用於相同的功能,每個單元格都使用cellfun。如果你的函數返回一個標量,例如

f = @(x)max(:) 

那麼它的那樣簡單

cellfun(f, cellArray) 

注意,上面f是一個匿名函數(或者更確切地說,功能句柄匿名函數),但更可能的功能將在其靠自己-file在您需要的情況下使用@操作:

cellfun(@f, cellArray) 

最後,如果你的輸出不是標隨後致電

cellfun(@f, cellArray, 'uni' 0) 
+0

好的。謝謝!我會嘗試。 – rdmato33