python图像检索

本文介绍了Python中使用Bag of Features算法进行图像检索的方法,包括数据集构建、SIFT特征提取、聚类得到视觉词汇、向量表示和KNN检索。在实验过程中,通过解决SIFT库的导入问题,成功实现了图像检索功能。
摘要由CSDN通过智能技术生成

一、Bag of features算法

此算法的思想是在我们先做一个数据集,然后找到图像中的关键词,这些关键词必须具备较高的区分度,最主要的操作就是提取sift特征,然后对这些特征点进行聚类算法,然后得到聚类中心,聚类中心就具有很高的代表性,这些聚类中心形成字典,然后自取一张图片,进行sift特征提取,就可以在字典里找到最相似的聚类中心,统计这些聚类中心出现的次数,然后就直方图表示出来,对于不同类别的图片,就可以训练处一些分类模型,然后就可以进行图片分类。

二、算法流程

1.收集数据集

2.提取sift特征

3.根据sift特征提取结果,进行聚类,得到一个字典

4.根据字典将图片表示成向量(直方图);

5.训练分类器或者用 KNN 进行检索

提取特征:
为了是图片具有较高的分辨度,使用sift特征提取,保证旋转不变性和尺度不变性,每个特征点都是128维的向量,将会提取很多的特征点

得到字典:
再次之前提取了很多的特征向量,然后就对这些特征向量进行k-means聚类,k值根据实际情况而定。聚类完成后,就得到了这 k 个向量组成的字典,这 k 个向量有一个通用的表达,叫 visual word。

三、实验过程

一:创建图像源:
在这里插入图片描述
我的vocabulary文件

二、基于Bag of features算法的图像检索
2.1
读取图片,提取特征
代码

import pickle
from PCV.imagesearch import vocabulary
from PCV.tools.imtools import get_iml
  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值