這是我如何解決它到底:提取的每個字段從數據結構,用於horzcat加入到一個新的數組,那麼定義報頭和用於csvwrite_with_headers,到輸出中爲CSV。
wpbFeatures = regionprops(vWFlabelled, 'Area','Centroid', 'MajorAxisLength', 'MinorAxisLength', 'Eccentricity', 'EquivDiameter');
wpbArea = vertcat(wpbFeatures.Area);
wpbCentroid = vertcat(wpbFeatures.Centroid);
wpbCentroidX = wpbCentroid(:,1);
wpbCentroidY = wpbCentroid(:,2);
wpbFeret = max(imFeretDiameter(vWFlabelled, linspace(0,180,201)), [], 2);
wpbMajorAxisLength = vertcat(wpbFeatures.MajorAxisLength);
wpbMinorAxisLength = vertcat(wpbFeatures.MinorAxisLength);
wpbEccentricity = vertcat(wpbFeatures.Eccentricity);
wpbEquivDiameter = vertcat(wpbFeatures.EquivDiameter);
wpbFeatures = horzcat(wpbArea, wpbCentroidX, wpbCentroidY, wpbFeret, wpbMajorAxisLength, wpbMinorAxisLength, wpbEccentricity, wpbEquivDiameter);
headers = {'Area','CentroidX','CentroidY', 'Feret', 'MajorAxisLength', 'MinorAxisLength', 'Eccentricity', 'EquivDiameter'};
csvwrite_with_headers(strcat(PlateName, '_ResultsFeatures.csv'),wpbFeatures,headers);
您是否嘗試過''AsArray',true'作爲'struct2table'的附加參數?你的結構看起來可能有不兼容的尺寸。 – scenia
是的,我試過這個,沒有它不起作用。我認爲這個問題可能在struct2table版本中,因爲我運行的是Matlab R2013a這個函數不可用,所以我下載了它:http://www.mathworks.com/matlabcentral/fileexchange/36214-struct2table但是文檔不同於我正在閱讀。我仍然得到錯誤太多輸出參數 –
是的,這是一個用戶提交,這不是後來的MATLAB版本中包含的原始'struct2table'。鏈接的版本不支持輸出參數,這意味着您不能將結果分配給變量。您必須找到與官方行爲相匹配的版本,或者重新編寫您下載的版本以包含此功能。 – scenia