2011-08-26 95 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的示例,該示例不會將序列化添加到單個結構中,而是讀/寫包含序列的集合,並且工作正常。無論如何,我試圖做的是過度殺傷。