2015-11-18 75 views
1

我試圖產生約一組圖像信息的集合的領域,所以我創建了一個結構數組作爲跟隨,生成MATLAB結構不同大小

resultsInfo = struct('img_index',0,'correlated',cell(1,5),'correlationFactor',zeros(1,5),'ImgSum',zeros(640,480)); 

其中:img_index是一個表示圖像的整數,correlated是包含相關圖像名稱的單元格,correlationFactor是表示圖像如何相似的數字,而imgSum是相關圖像的總和。

我想以動態的方式在for循環中創建數組,但代碼只生成每個元素的第五個imageSums

如何啓動結構來填充矩陣爲零的數組的所有元素?

回答

0

請定義以下方法:

function resultStruct = CreateEmptySruct() 
    resultStruct.img_index = 0 ; 
    resultStruct.correlated = cell(1,5); 
    resultStruct.correlationFactor = zeros(1,5); 
    resultStruct.ImgSum = zeros(640,480) ; 
end 

然後調用這個方法對於循環是這樣的:

for i = 1 :5 
    structArray(i) = CreateEmptySruct() ; 
end 

但是,您也可以將任何值設置爲每個結構分別通過傳遞函數的參數。

+1

爲我工作。謝謝。 –

+0

不客氣。如果此解決方案適合您,請接受答案。 – User1551892