python实现用SIFT+K-MEANS+SVM图片分类

用python实现图片分类过程

1. 按图片类别抽取训练集中所有图片的SIFT特征;

2. 将每一类图片的SIFT特征聚类为K类,构成该类的visual vocabulary(其size为K);

3. 对于训练集中的每一张图片,统计vocabulary中K个word的“词频”,得到相应的直方图;

4. 将直方图作为样本向量即可构建SVM的训练数据和测试数据;

运行的环境:

windows7+python 2.7.9+opencv 2.4.9+numpy


***************************************************小白知识补给站********************************************************************

Python是一种通用语言。它被解释运行,是动态类型语言,非常适合交互工作和快速实现原型,并且足够强大可以写大型应用。

Numpy是一个定义了数值数组、矩阵类型和它们的基本运算的语言扩展(是Python的一个工具包)。

pip是一个安装和管理Python包的工具,是easy_install的一个替代品。可以用pip安装numpy等工具,非常方便!

***************************************************************************************************************************************


环境搭建:

安装了python后,安装pip:在Python的官网上去下载,下载地址是:https://pypi.python.org/pypi/pip#downloads 

下载完成之后,解压到一个文件夹,用CMD控制台进入解压目录,输入:

python setup.py install
然后需要添加环境变量,我们在PATH最后添加:
C:\Python27\Scripts;
安装好pip后,就可以用pip安装numpy了:在cmd中输入pip install numpy 
可能大家会遇到一个问题,明明电脑上装好了opencv,为什么import cv2会出错?
因为我们还需要在python下安装opencv,步骤很简单:
将”\opencv\build\python\2.7\x64”或”\opencv\build\python\2.7\x86”(根据python版本)文件夹中找到cv2.pyd”,
复制到Python安装文件的”C:\Python27\Lib\site-packages”文件夹中。
运行的代码用例是网上下载的一个资源:http://www.ithao123.cn/content-8721974.html

你可能感兴趣的:(python实现用SIFT+K-MEANS+SVM图片分类)