OpenCV сериализация с вложенной последовательностью - PullRequest
0 голосов
/ 26 августа 2011

У меня следующая ситуация:

typedef struct {
    int value;
    string color;
} PositionElement;

struct {
   int row;
   int column;
   vector<PositionElement> positionElements;  // has 120 values
}     PositionInformation;

Как я могу использовать opencv сериализацию на этом? Образцы / руководства / документация не имеют примеров последовательностей, вложенных в структуры.

У меня возникают проблемы при попытке реализовать эту функцию:

void PositionInformation::read(const FileNode &node);

Я не могу понять, как перебирать элементы positionElements для их заполнения.

1 Ответ

0 голосов
/ 27 августа 2011

Я надеялся добавить функции сериализации непосредственно в эти структуры, как это предлагается в документации: добавление функций read () / write () в структуры и глобальное чтение () / write () также с помощью FileNodes и новых типы данных в качестве входных данных. Я подумал, что это будет хорошо, так что тогда мое приложение более высокого уровня сможет просто сериализовать / десериализовать структуру PositionInformation.

Однако, поскольку я единственный, кто собирается использовать эти структуры, я решил просто следовать примерам записи данных в XML / YAML на листе C ++, которые не добавляют сериализацию к отдельным структурам, но читают / писать коллекции, содержащие последовательности, и это работало нормально. В любом случае я пытался излишне убивать.

...