1
當我在Python2中使用Opencv3時,我的代碼是使用SVM進行一些操作。OpenCV3 Python,svm.train()TypeError
但是錯誤所示:
svm.train(trainData,responses,params = svm_params) TypeError: only length-1 arrays can be converted to Python scalars
當我在Python2中使用Opencv3時,我的代碼是使用SVM進行一些操作。OpenCV3 Python,svm.train()TypeError
但是錯誤所示:
svm.train(trainData,responses,params = svm_params) TypeError: only length-1 arrays can be converted to Python scalars
發生該錯誤的原因的功能期待一個單個陣列對象,並trainData
變量包含多個陣列對象。有幾種方法來解決這個問題,其中之一是,如果說你的輸入對象是:
# Used for creating training samples for a logic gate (eg: xor) NN
trainData = np.random.randint(2,size=2)
# array([ ..some values.. ])
然後添加[np.newaxis]將其
np.random.randint(2,size=2)[np.newaxis]
# array([[ ..some values.. ]])
坦克爲您的答覆。但我的火車數據是這樣得到的: deskewed = [在train_cells中的行的地圖(歪斜,行)] hogdata = [地圖(豬,行)在歪斜的行中] trainData = np.float32(hogdata).reshape -1,64) responses = np.float32(np.repeat(np.arange(10),250)[:, np.newaxis]) 問題仍然是退出。你能幫我解決這個問題嗎? –
這是另一個可能有用的答案: http://stackoverflow.com/questions/36110924/how-can-i-format-my-list-to-give-it-as-input-to-svm-train -in-opencv3-0 –