не может отображать содержимое структуры - PullRequest
0 голосов
/ 15 декабря 2011

Я использую функцию 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 голосов
/ 15 декабря 2011

Хорошо, нашел проблему.

Когда функция 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...