OpenCV 3.0.0 SVM训练模型的保存/加载

3
我正在使用OpenCV 3.0.0和Python 2.7.9从实时视频流中提取检测到的对象图像,并使用OpenCV机器学习(cv2.ml)支持向量机(SVM)将它们分类为特定对象类别或不属于该类别。
我用来训练SVM的代码在图像中生成SIFT关键点,使用KMEANS聚类,然后输入到SVM训练算法中。这一切都很好,但由于它不一定是所需操作代码的一部分,我单独完成它并使用以下代码将SVM模型保存到.dat文件中:
svm = cv2.ml.SVM_create() svm.save('datafile.dat')
问题是,在OpenCV 3.0.0中根本没有实现svm.load()函数。
我已经尝试使用StatModel(model)加载,但也不起作用。
我很注重此项目的Python部分,不想将其重新编程为C++,现在我已经使SVM在训练方面工作了,也不希望使用SciPy中的东西。
我希望加载功能已被重命名,只是文档不够完善。有什么想法吗?
1个回答

2

很不幸,这是一个bug。也可以看看这个问题

如果您查看SVM_create()的帮助,您会发现没有像read()或load()这样的函数,而是save()(从Algorithm类继承):

>>> import cv2
>>> help(cv2.ml.SVM_create())

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接