图像检索
前言
在大型的图像数据库上,CBIR(基于内容的图像搜索)技术用于检索在视觉上具有相似性的图像。返回的图像可以是颜色相似、纹理相似、图像中的物体或场景相似;总之是可以在这些图像上找到共有的任何信息。对于高层查询,比如寻找相似物体,将查询图像与数据库中所有图像进行完全比较(比如特征匹配)往往是不可行。在数据库很大的情况下,这样的查询方式会耗费很多时间,通过前任的不懈努力,已经成功引入文本挖掘技术到BOW中,解决了数百万图像中搜索具有相似内容的图像成为可能的问题。
目录
(一)环境说明及安装
1.ptyhon3.7版本,wins10 64位,IDLE运行编译;
2.vlfeat-0.9.20版本,vlfeat的win64里的vl.dll和sift.exe和vl.lib复制在项目里,同时注意把PCV包放在项目下
3.安装PyQt5
方法(1)窗口键+R,输入cmd进入命令窗口,输入命令语句:pip install PyQt5 ;但是自动导入的方法速度很慢,需要下载很长时间,不建议使用此方法;
方法(2)进入官网链接下载:https://pypi.org/project/PyQt5/#files ,选择图截图下适合自己电脑安装配置的版本,因为我安装的是python3.7,电脑环境是win10 64位,所以下载的是:PyQt5-5.12.2-5.12.3-cp35.cp36.cp37.cp38-none-win_amd64.whl ,下载完成后再进入到命令行窗口,输入命令语句:pip install PyQt5-5.12.2-5.12.3-cp35.cp36.cp37.cp38-none-win_amd64.whl ,建议使用此方法,安装方便。
4.安装cherrypy:直接在命令窗口输入:pip install cherrypy
5.需加入文件service.conf,并用记事本打开修改文件内容为自己项目所在的路径。例如我的项目路径在文件test7下:E:\Python37_course\test7。
下载连接: service.conf文件下载
提取码:01ty
到此环境安装完成。
(二)基于BOW图像检索原理
(1)基于内容的图像检索
从文本挖掘中获取灵感——矢量空间模型
矢量空间模型(也称BOW模型)是一个用于表示和搜索文本文档的模型。BOW模型基本上可以用于任何对象类型,包括图像。这些矢量是由文本词频直方图构成,即矢量包含了每个单词出现的次数,而且在其他地方包含很多0元素。BOW模型是忽略了单词出现的顺序及位置。
通过单词计数来构成文档直方图向量,从而建立文档索引。由于每篇文档长度不同,故以直方图总和和将向量归一化成单位长度。对于直方图向量中的每个元素可根据每个单词的重要性赋予相应的权重,通常数据集中的一个单词的重要性与它在文档中出现的次数成正比,与在数据集出现次数成反比。