使用SIFT特征提取和K-Means方法对图片进行分类

本文介绍如何使用SIFT特征和K-Means算法对图片进行无监督分类。通过OpenCV库提取SIFT特征,并借助sklearn的KMeans实现图片的自动归类。详细代码展示了解决方案的实现过程,适用于快速富集图片数据集。
摘要由CSDN通过智能技术生成

由于项目的需要,需要搜集一批有标签的图片,但是人力没有那么多,无法对图片进行分类,所以就先用无监督的方法对用机器对图片自动分类,先富集一批数据,然后再对模型进行训练,于是就想到了k-means算法,但是图片需要提取特征,于是想到了使用SIFT来对图片进行提取特征,提取的方法使用OpenCV的库来进行提取,具体安装OpenCV的方法请参考:点击打开链接

废话不多说,看代码:

#-*- encoding:utf-8 -*-
__date__ = '17/04/21'
'''
CV_INTER_NN - 最近邻插值,  
CV_INTER_LINEAR - 双线性插值 (缺省使用)  
CV_INTER_AREA - 使用象素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于 CV_INTER_NN 方法..  
CV_INTER_CUBIC - 立方插值
'''

import os, codecs
import cv2
import numpy as np
from sklearn.cluster import KMeans

def get_file_name(path):
	'''
	Args: path to list;  Returns: path with filenames
	'''
	filenames = os.listdir(path)
	path_filenames = []
	filename_list = []
	for 
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值