所以我有一个矩阵与我的样本图像(全部变成矢量),它是通过PCA/LDA运行的,并且是一个表示每个图像属于哪一类的向量。现在我想使用OpenCV SVM类来训练我的SVM(我正在使用Python,OpenCV 2.3.1)。但是我有一个定义的参数有问题:Python OpenCV支持向量机实现
test = cv2.SVM()
test.train(trainData, responses, ????)
我被困在如何定义SVM(线性等)和其他的东西的类型。在C++中,你可以通过声明来定义它:svm_type = CvSVM :: C_SVC ... Python没有。 C++也有一个特殊的类来存储这些参数 - > CvSVMParams。有人可以给我一个Python的例子吗?像定义SVM类型,伽玛等
2.3.1文档说,它是这样的:
Python: cv2.SVM.train(trainData, responses[, varIdx[, sampleIdx[, params]]]) → retval
什么是varIdx和sampleIdx,以及如何定义的PARAMS?
我正在阅读文档,但与此同时,您可以使用替代解决方案:将您的矩阵转换为numpy并使用sk-learn进行机器学习任务。 – timgluz 2012-01-01 00:23:16
嗨!试试这些例子:https://code.ros.org/svn/opencv/trunk/opencv/samples/python2/letter_recog.py – timgluz 2012-01-01 00:59:07
timgluz THX这正是我在找的东西......你能否复制SVM部分在答案中的链接,我可以接受它(以便其他人可以立即找到答案,你得到信用)... SVM部分是从79行到91 ... – Veles 2012-01-01 10:41:18