【发布时间】:2012-01-31 01:17:01
【问题描述】:
所以我有一个矩阵,其中包含通过 PCA/LDA 运行的示例图像(全部变成向量),以及一个表示每个图像所属的类的向量。现在我想使用 OpenCV SVM 类来训练我的 SVM(我使用的是 Python,OpenCV 2.3.1)。但是我在定义参数时遇到了问题:
test = cv2.SVM()
test.train(trainData, responses, ????)
我被困在如何定义 SVM 的类型(线性等)和其他东西上。在 C++ 中,您可以通过声明来定义它: svm_type=CvSVM::C_SVC...Python 没有。 C++ 也有一个特殊的类来存储这些参数 -> CvSVMParams。有人可以在 Python 中给我一个这样的例子吗?比如定义 SVM 类型、gamma 等。
2.3.1 文档是这样说的:
Python: cv2.SVM.train(trainData, responses[, varIdx[, sampleIdx[, params]]]) → retval
什么是varIdx和sampleIdx,参数如何定义?
【问题讨论】:
-
我目前正在阅读文档,但与此同时,您可以使用替代解决方案:将矩阵转换为 numpy 并使用 sk-learn 进行机器学习任务。
-
timgluz THX 这正是我正在寻找的...您能否从答案中的链接中复制 SVM 部分,以便我接受它(以便其他人可以立即找到答案并u get credit)...SVM 部分是从第 79 行到第 91 行...
标签: python opencv classification svm