因此,众所周知,由于OpenCV中的错误,当您尝试在保存它之后加载非线性内核SVM时出现错误。在C++中用于存储OpenCV的SVM对象的对象序列化[OpenCV 3.1.0]
这里指的更多: OpenCV 3.1.0: Save and load trained SVMs
人都得到了支持向量机加载,但无法获得相同的结果(分类数据被加载后损坏)。我试着编写我自己的svmloader函数来测试它。
Ptr<SVM> svmloader(const String& filepath)
{
FileStorage fs;
fs.open(filepath, FileStorage::READ);
Ptr<SVM> svm = Algorithm::read<SVM>(fs.getFirstTopLevelNode());
return svm;
}
这个工程,但我现在可以确认,我已经测试模型前和后加载和结果看起来更糟后加载。那是在训练分类器并测试之后,它会很好,但如果你保存它并重新加载它,它将会消失。
所以我想我想用C++的对象序列化来解决这个问题。我如何将任意对象写入文件然后从该文件读取?
也可以有人证实,如果上面的错误已被固定在OpenCV的3.2.0我无法找到任何东西阅读发布
任何帮助,非常感谢乡亲