我正在使用 opencv2.4 和 python 2.7。图像的哪些特征可以用于 svm 分类。我经历了 surf 和 sift 但作为初学者对我来说似乎很难。其他特征提取技术是什么?
最佳答案
如果您正在寻找最简单的表示,那么这会对您有所帮助。与其他 SIFT 和 SURF 相比,这两个非常简单
- 位图表示
- HOG-梯度直方图
SVM 是一种用于数据分类的机器学习模型。我构建了一个简单的 svm 分类器。如果你有两个图像文件夹,鸟类和松鼠。我遵循的步骤是
提取图像的 Hog 特征并将其附加到列表中
for file in listing1: img = cv2.imread(path1 + file) res=cv2.resize(img,(250,250)) h=hog(res) training_set.append(h)
同时附加标签
training_labels.append(1)
将两个列表转换为 numpy 数组。
trainData=np.float32(training_set) responses=np.float32(training_labels)
训练 SVM
svm.train(trainData,responses, params=svm_params)
测试 SVM
result = svm.predict_all(testData) print result
关于python - 图像的哪些特征会产生用于 SVM 多类图像分类的良好结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36214519/