2011-12-14 115 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