OpenCV 机器学习函数需要 CvFileStorage* 而不是 cv::FileStorage*

OpenCV machine learning functions want CvFileStorage* instead of cv::FileStorage*

本文关键字:cv 机器学习 FileStorage CvFileStorage OpenCV 函数      更新时间:2023-10-16

我正在使用OpenCV中机器学习库中的CvANN_MLP函数,我想将我训练好的网络写入文件。使用 SIFT 时,我已经能够使用 cv::FileStorage 来做得很好,但是当我尝试在这里这样做时,它不起作用。

机器学习的标头始终使用 CvFileStorage,但我无法在不收到"CvFileStorage fs 具有初始值设定项但类型不完整"错误的情况下声明此对象,并且传入 cv::FileStorage 根本没有帮助。

我想这可能是因为我没有最新版本的OpenCV,但我检查了SVN存储库,它的原型中仍然有CvFileStorage。

Will撰写的解决方案,最初是作为他们问题的一部分发布的。

隐藏在cv::FileStorage类中的是以下内容:

// returns the underlying CvFileStorage*
CvFileStorage* operator *() { return fs; }
const CvFileStorage* operator *() const { return fs; }