目前我有同样的问题,我看过OpenCV的以下文件:
在哪里可以找到答案的一部分:
deskewed = [map(deskew,row) for row in train_cells]
hogdata = [map(hog,row) for row in deskewed]
trainData = np.float32(hogdata).reshape(-1,64)
responses = np.float32(np.repeat(np.arange(10),250)[:,np.newaxis])
svm = cv2.ml.SVM_create()
svm.setKernel(cv2.ml.SVM_LINEAR)
svm.setType(cv2.ml.SVM_C_SVC)
svm.setC(2.67)
svm.setGamma(5.383)
svm.train(trainData, cv2.ml.ROW_SAMPLE, responses)
svm.save('svm_data.dat')
那是我正在合作的.一旦我解决了,我会更新答案.但此刻我希望它对你有所帮助.
………………………………………….. ……………………..
您可以在此opencv目录中找到名为digits.py的示例:
\opencv\sources\samples\python
根据您的opencv版本,SVM类的方法存在一些差异.这是opencv 3.1的一个例子.
svm = cv2.ml.SVM_create()
svm.setType(cv2.ml.SVM_C_SVC)
svm.setKernel(cv2.ml.SVM_RBF) # cv2.ml.SVM_LINE