无法显示结构内容

时间:2011-12-14 21:08:15

标签: matlab

我在视频的多个帧上使用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)

1 个答案:

答案 0 :(得分: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