SVM与HOG结合使用训练模型python代码
时间: 2023-05-13 12:07:06 浏览: 95
以下是结合使用SVM和HOG训练模型的Python代码示例:
```python
import cv2
import numpy as np
# 读取训练数据
train_data = []
train_labels = []
for i in range(1, 11):
for j in range(1, 6):
img = cv2.imread(f"train_data/{i}_{j}.jpg", cv2.IMREAD_GRAYSCALE)
hog = cv2.HOGDescriptor()
train_data.append(hog.compute(img))
train_labels.append(i)
# 训练SVM模型
svm = cv2.ml.SVM_create()
svm.setType(cv2.ml.SVM_C_SVC)
svm.setKernel(cv2.ml.SVM_LINEAR)
svm.setTermCriteria((cv2.TERM_CRITERIA_MAX_ITER, 100, 1e-6))
svm.train(np.array(train_data), cv2.ml.ROW_SAMPLE, np.array(train_labels))
# 测试模型
test_data = []
test_labels = []
for i in range(1, 11):
for j in range(6, 11):
img = cv2.imread(f"train_data/{i}_{j}.jpg", cv2.IMREAD_GRAYSCALE)
hog = cv2.HOGDescriptor()
test_data.append(hog.compute(img))
test_labels.append(i)
_, test_acc = svm.evaluate(np.array(test_data), cv2.ml.ROW_SAMPLE, np.array(test_labels))
print(f"Test accuracy: {test_acc}")
```
请注意,这只是一个示例代码,实际使用时需要根据具体情况进行修改和优化。