2011-08-26 48 views
0

我有以下情况:OpenCV的系列化与嵌套序列

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重复填充它们。

+0

你可以发布你的代码序列化?反序列化依赖于。 –

+0

我放弃了所有单独的struct serialize/deserialize代码,所以我不能发布它。采用更简单的方法。 –

回答

0

我一直希望将序列化函数直接添加到这些结构中,就像文档中所建议的那样:使用FileNodes和ReadNode()/ write()函数向struct和read()/ write新的数据类型作为输入。我认为这将是光滑的,这样我就可以让我的更高级别的应用程序序列化/反序列化PositionInformation结构。

但是,由于我是唯一一个将要使用这些结构的人,所以我决定只是遵循在C++ cheatsheet上将数据写入XML/YAML的示例,该示例不会将序列化添加到单个结构中,而是读/写包含序列的集合,并且工作正常。无论如何,我试图做的是过度杀伤。