pythonsvm图像分类_python图像处理之sift-kmeans-SVM图像分类

本文介绍了使用Python和OpenCV进行SIFT特征提取、KMeans聚类以及SVM图像分类的方法。通过修改原始代码,解决了在不同Python和OpenCV版本下运行的问题,包括图像输入、组件类型、标签错误和模型导入等问题。详细步骤包括计算SIFT特征、构建特征向量、学习词汇库、训练分类器以及进行分类预测。最终,实现了对测试集的分类并计算了总体准确率。
摘要由CSDN通过智能技术生成

原文代码在python3.0或者opencv版本不同下跑不通。

我这里做一些改动,自行参考,文笔有限。

改动点1:图像输入自定义,不再固定名称

改动点2:解决找不到sift、svm组件类型问题

改动点3:解决svm训练的标签错误问题

改动点4:解决导入不了svm模型问题

注意:SVM.train中标签一定要为整数类型

代码如下:

import cv2

import numpy as np

import os

TrainSetInfo = {

"car":40,

"city":20,

"dog":30,

"earth":15,

"fireworks":20,

"flowers":20,

"fruits":20,

"glass":20,

"gold":15,

"gun":20,

"plane":40,

"sky":30,

"worldcup":40

}

TestSetInfo = {

"car":119,

"city":59,

"dog":49,

"earth":24,

"fireworks":54,

"flowers":63,

"fruits":78,

"glass":52,

"gold":44,

"gun":44,

"plane":102,

"sky":78,

"worldcup":131

}

def calcSiftFeature(img):

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

sift =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值