我正在尝试构建一个对不同对象进行分类的应用程序。我有一个训练文件夹,里面有一堆我想用来训练我的支持向量机的图像。 直到现在,我一直遵循这个(伟大的)答案: using OpenCV and SVM with images
下面是我的代码示例:
def getTrainingData():
address = "..//data//training"
labels = []
trainingData = []
for items in os.listdir(address):
## extracts labels
name = address + "//" + items
for it in os.listdir(name):
path = name + "//" + it
print path
img = cv.imread(path, cv.CV_LOAD_IMAGE_GRAYSCALE)
d = np.array(img, dtype = np.float32)
q = d.flatten()
trainingData.append(q)
labels.append(items)
######DEBUG######
#cv.namedWindow(path,cv.WINDOW_NORMAL)
#cv.imshow(path,img)
return trainingData, labels
svm_params = dict( kernel_type = cv.SVM_LINEAR,
svm_type = cv.SVM_C_SVC,
C=2.67, gamma=3 )
training, labels = getTrainingData()
train = np.asarray(training)
svm = cv.SVM()
svm.train(train, labels, params=svm_params)
svm.save('svm_data.dat')
但是,当我尝试运行时,收到以下错误:
^{pr2}$我做错什么了? 谢谢!在
您应该调整输入图像的大小。像这样:
大小由你决定。在
相关问题 更多 >
编程相关推荐