在opencv中学习后保存KNN分类器

eng*_*ooo 5 opencv

我使用OpenCV KNN分类器,经过训练后我需要保存分类器才能在测试阶段使用.我发现knn.save()OpenCV中没有实现.该怎么办?

小智 7

在k-NN中,由于没有训练,因此未执行保存和写入.火车方法只存储所有样本.所以没有"模型"被推测,那么除了所有样本之外什么都不能保存.


Kob*_*ohn 1

太长了,无法发表评论,所以我在这里发帖。这不是一个完整的解决方案,因此任何知道如何执行此操作的人:请分享更好的答案

我看过了,找不到任何直接的实现。然而,我发现这个人(他的博客上有很多好东西)想出了如何阅读这些巨大的经过训练的分类器集,其中包括 K 最近邻。

你也许可以使用他的方法来实现CvKNearest的写入和读取。

顺便说一句,如果我对c++的理解是正确的,save并且read已经为您实现了,并且实际上只write需要read实现。


例如CvBoost::save

(升压.cpp)CvBoost::save

--> (内部函数.cpp)CvStatModel::save

--> (升压.cpp)CvBoost::write


以同样的方式,您需要添加此功能:

(最近的.cpp)CvBoost::write


抱歉,我找不到更具体的东西。我希望这有帮助。