2011-12-14 39 views
0

我在視頻的許多幀上使用regionprops函數。但是在其中一個框架上,regionprops返回一個奇怪的結構。無法顯示結構內容

這是我的代碼。它始終未能在同一框架上:

stats = regionprops(I, 'Centroid'); 
disp(isfield(stats, 'Centroid')) 
disp(fieldnames(stats)) 
disp(stats.Centroid) 

令人不解的是,因爲isfield()功能,並與合理的結果fieldnames()函數返回。

這是一個例子,當輸出我的代碼不會失敗:

1 

'Centroid' 

    133.6667 159.6667 

這是輸出時失敗:

1 

'Centroid' 

Error using ==> disp 
Not enough input arguments. 

在一個側面說明:我用一個很老的版本(6.1.0.450 (R12.1)

回答

0

好的,發現問題了。

當函數regionprops未返回大小爲1x1的結構(比找到一個質心更多/更少)時,disp不能處理輸入。

改變了我的代碼進行測試,以這樣的:

stats = regionprops(I, 'Centroid'); 
disp(isfield(stats, 'Centroid')) 
disp(fieldnames(stats)) 
disp(size(stats)) 

輸出時的代碼不會失敗:

1 

'Centroid' 

1  1 

輸出時,代碼失敗:

1 

'Centroid' 

0  1