Создание списка массивов переменной длины в MATLAB - PullRequest
2 голосов
/ 02 ноября 2011

Я хотел бы обработать список изображений с помощью regionprops и сохранить результат в массив или какой-то список.

Моя проблема в том, что regionprops возвращает структуру переменного размера.В моем случае это выглядит так:

stats = regionprops(L,'Centroid');

2x1 struct array with fields:
    Centroid

Размер структуры зависит от изображения к изображению.

Как создать объект, содержащий все мои структуры ?Нужно ли использовать массивы ячеек ?

Я попробовал следующее:

mycell = struct2cell(stats);
centers(i,:) = mycell;

Но это работает только до тех пор, пока мои массивы имеют одинаковый размер.Это не тот случай, когда количество обнаруженных объектов изменяется от кадра к кадру .

Как я могу хранить структуры переменной или массивы ячеек в контейнере?

Что я должен использовать, структуры клеточных массивов?

1 Ответ

0 голосов
/ 02 ноября 2011

Просто поместите каждый массив массива stats в собственную ячейку.Например:

>> stats1(3).test = 1

stats1 = 

1x3 struct array with fields:
    test

>> stats2(2).test = 1

stats2 = 

1x2 struct array with fields:
    test

>> [{stats1} {stats2}]

ans = 

    [1x3 struct]    [1x2 struct]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...