diff --git a/doc/py_tutorials/py_ml/py_knn/py_knn_opencv/py_knn_opencv.markdown b/doc/py_tutorials/py_ml/py_knn/py_knn_opencv/py_knn_opencv.markdown index 195afdf5a1..c58658d7a4 100644 --- a/doc/py_tutorials/py_ml/py_knn/py_knn_opencv/py_knn_opencv.markdown +++ b/doc/py_tutorials/py_ml/py_knn/py_knn_opencv/py_knn_opencv.markdown @@ -42,9 +42,9 @@ train_labels = np.repeat(k,250)[:,np.newaxis] test_labels = train_labels.copy() # Initiate kNN, train the data, then test it with test data for k=1 -knn = cv2.KNearest() -knn.train(train,train_labels) -ret,result,neighbours,dist = knn.find_nearest(test,k=5) +knn = cv2.ml.KNearest_create() +knn.train(train, cv2.ml.ROW_SAMPLE, train_labels) +ret,result,neighbours,dist = knn.findNearest(test,k=5) # Now we check the accuracy of classification # For that, compare the result with test_labels and check which are wrong @@ -103,9 +103,9 @@ responses, trainData = np.hsplit(train,[1]) labels, testData = np.hsplit(test,[1]) # Initiate the kNN, classify, measure accuracy. -knn = cv2.KNearest() -knn.train(trainData, responses) -ret, result, neighbours, dist = knn.find_nearest(testData, k=5) +knn = cv2.ml.KNearest_create() +knn.train(trainData, cv2.ml.ROW_SAMPLE, responses) +ret, result, neighbours, dist = knn.findNearest(testData, k=5) correct = np.count_nonzero(result == labels) accuracy = correct*100.0/10000 diff --git a/doc/py_tutorials/py_ml/py_knn/py_knn_understanding/py_knn_understanding.markdown b/doc/py_tutorials/py_ml/py_knn/py_knn_understanding/py_knn_understanding.markdown index 3d7be5a5b7..5eae4b2f63 100644 --- a/doc/py_tutorials/py_ml/py_knn/py_knn_understanding/py_knn_understanding.markdown +++ b/doc/py_tutorials/py_ml/py_knn/py_knn_understanding/py_knn_understanding.markdown @@ -114,9 +114,9 @@ So let's see how it works. New comer is marked in green color. newcomer = np.random.randint(0,100,(1,2)).astype(np.float32) plt.scatter(newcomer[:,0],newcomer[:,1],80,'g','o') -knn = cv2.KNearest() -knn.train(trainData,responses) -ret, results, neighbours ,dist = knn.find_nearest(newcomer, 3) +knn = cv2.ml.KNearest_create() +knn.train(trainData, cv2.ml.ROW_SAMPLE, responses) +ret, results, neighbours ,dist = knn.findNearest(newcomer, 3) print "result: ", results,"\n" print "neighbours: ", neighbours,"\n" @@ -140,7 +140,7 @@ obtained as arrays. @code{.py} # 10 new comers newcomers = np.random.randint(0,100,(10,2)).astype(np.float32) -ret, results,neighbours,dist = knn.find_nearest(newcomer, 3) +ret, results,neighbours,dist = knn.findNearest(newcomer, 3) # The results also will contain 10 labels. @endcode Additional Resources diff --git a/doc/py_tutorials/py_ml/py_svm/py_svm_opencv/py_svm_opencv.markdown b/doc/py_tutorials/py_ml/py_svm/py_svm_opencv/py_svm_opencv.markdown index ffd38f881c..b9ee47dede 100644 --- a/doc/py_tutorials/py_ml/py_svm/py_svm_opencv/py_svm_opencv.markdown +++ b/doc/py_tutorials/py_ml/py_svm/py_svm_opencv/py_svm_opencv.markdown @@ -64,9 +64,6 @@ import numpy as np SZ=20 bin_n = 16 # Number of bins -svm_params = dict( kernel_type = cv2.SVM_LINEAR, - svm_type = cv2.SVM_C_SVC, - C=2.67, gamma=5.383 ) affine_flags = cv2.WARP_INVERSE_MAP|cv2.INTER_LINEAR @@ -105,8 +102,13 @@ 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.SVM() -svm.train(trainData,responses, params=svm_params) +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') ###### Now testing ######################## @@ -114,7 +116,7 @@ svm.save('svm_data.dat') deskewed = [map(deskew,row) for row in test_cells] hogdata = [map(hog,row) for row in deskewed] testData = np.float32(hogdata).reshape(-1,bin_n*4) -result = svm.predict_all(testData) +result = svm.predict(testData) ####### Check Accuracy ######################## mask = result==responses