OpenCV3 Python,svm.train()类型错误
当我将Opencv3与Python2一起使用时,我的代码是用SVM做一些事情 但显示了一个错误: 训练(训练数据、响应、参数=svm_参数)类型错误:仅限 长度为1的数组可以转换为Python标量OpenCV3 Python,svm.train()类型错误,python,svm,opencv3.0,Python,Svm,Opencv3.0,当我将Opencv3与Python2一起使用时,我的代码是用SVM做一些事情 但显示了一个错误: 训练(训练数据、响应、参数=svm_参数)类型错误:仅限 长度为1的数组可以转换为Python标量 发生此错误的原因是函数需要一个数组对象,而trainData变量包含多个数组对象。有几种方法可以解决这个问题,其中之一是,假设您的输入对象是: # Used for creating training samples for a logic gate (eg: xor) NN trainData =
发生此错误的原因是函数需要一个数组对象,而
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.. ]])
请参阅:,发生此错误是因为函数需要一个数组对象,而
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.. ]])
请参阅:,了解您的答复。但是我的trainData是这样得到的:deskewed=[map(deskew,row)for train_单元格中的行]hogdata=[map(hog,row)for deskewed]trainData=np.float32(hogdata)。重塑(-1,64)响应=np.float32(np.repeat(np.arange(10),250)[:,np.newaxis])问题仍然存在。你能帮我解决这个问题吗?这里有另一个可能有用的答案:谢谢你的回答。但是我的trainData是这样得到的:deskewed=[map(deskew,row)for train_单元格中的行]hogdata=[map(hog,row)for deskewed]trainData=np.float32(hogdata)。重塑(-1,64)响应=np.float32(np.repeat(np.arange(10),250)[:,np.newaxis])问题仍然存在。你能帮我解决这个问题吗?下面是另一个可能有用的答案: