2011-12-14 13 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が、dispが入力を処理できないサイズより大きい(1つ以上の重心が見つかった)構造体を返さない場合。

1 

'Centroid' 

1  1 

出力のコードが失敗したとき:コードが失敗しない

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

出力:

1 

'Centroid' 

0  1 
これまでのテストのための私のコードを変更

関連する問題