我想就使用 opencv 的文件存储读取和写入 Mats 向量的向量寻求帮助。
我用这个函数来写:
Template<typename _Tp>inline void writeFileNodeList(FileStorage& fs, const string& name,const vector<_Tp>& items)
{
// typedefs
//typedef typename vector<_Tp>::const_iterator constVecIterator;
vector<Mat>::iterator it;
// write the elements in item to fs
fs << name << "[";
for (it = items.begin(); it != items.end(); ++it) {
fs << *it;
}
fs << "]";
}
这要读:
template<typename _Tp>inline void readFileNodeList(const FileNode& fn, vector<_Tp>& result) {
if (fn.type() == FileNode::SEQ) {
//vector<Mat>::iterator it;
for (FileNodeIterator it = fn.begin(); it != fn.end();it++) {
_Tp item;
it >> item;
result.push_back(item);
}
}
}
用于编写的代码效果不佳,无法构建用于阅读的代码。我实际上完全绝望,我已经用尽了我能想象的一切。我在这里寻找相同的示例代码,但没有一个对我不起作用。感谢帮助!!!