svm对图片特征值分类代码
时间: 2023-07-05 10:27:00 浏览: 40
以下是使用SVM对图片特征值进行分类的Python代码示例:
```python
import cv2
import numpy as np
from sklearn.svm import SVC
# 加载数据
data = np.load('features.npy')
labels = np.load('labels.npy')
# 划分训练集和测试集
train_data = data[:800]
test_data = data[800:]
train_labels = labels[:800]
test_labels = labels[800:]
# 训练SVM模型
svc = SVC(kernel='linear', C=1, gamma='auto')
svc.fit(train_data, train_labels)
# 测试模型并计算准确率
accuracy = svc.score(test_data, test_labels)
print("Accuracy:", accuracy)
# 加载要分类的图片并提取特征
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
sift = cv2.xfeatures2d.SIFT_create()
kp, des = sift.detectAndCompute(gray, None)
# 预测图片的类别
label = svc.predict(des.reshape(1, -1))
print("Predicted label:", label)
```
在这个示例中,我们首先加载了预处理好的特征数据和相应的标签,然后将它们划分为训练集和测试集。接着,我们使用SVM训练一个分类模型,并使用测试集计算准确率。最后,我们加载要分类的图片并提取SIFT特征,使用训练好的模型预测它的类别。