基于LIRE的图像检索系统(C/S架构)
关于
自己业余时间搭建的一个基于LIRE的图像检索系统,可用于对图像检索研究领域的相关人员作为相关结果展示参考等。
简介
系统功能:
①点击客户端界面可对ImagesFolder文件目录下图像文件进行创建索引操作,默认设置为CEDD、PHOG等18种特征提取索引文件一次全部创建。
②创建索引后,选择本地一张图片,点击开始检索,会根据选择的相应的特征提取算法,检索出相应的最相似的60张照片(现默认设置为60张)。
系统设计
①服务端环境:JDK8,Eclipse Jee Oxygen
②客户端环境:Qt5.9.0
③通信方式:TCP socket通信
客户端发送请求相关部分代码:
void MainWindow::SendRequest(const QString& strAction, const QString& filepath, const QString& depends)
{m_pSocket->connectToHost("127.0.0.1", 12345);bool connected = m_pSocket->waitForConnected();// waitForConnected();QString sendStr = strAction + "CSU" + filepath + "CSU" + depends + "CSU" + "\n";if(connected){m_pSocket->write(sendStr.toStdString().c_str(), sendStr.size());m_pSocket->waitForBytesWritten();}
}
客户端通过发送
strAction + "CSU" + filepath + "CSU" + depends + "CSU" + "\n"
字符串给服务端
strAction
表示为搜素或索引指令
filepath
表示为所选择的图像文件的路径
depends
表示为选择的图像特征提取算法
服务端处理部分代码:
BufferedWriter outbuf = new BufferedWriter(new OutputStreamWriter(tclient.getOutputStream()));BufferedReader inbuf = new BufferedReader(new InputStreamReader (tclient.getInputStream()));String recvMsg = inbuf.readLine();//读取接受客户端的数据String[] recvDataStr = recvMsg.split("CSU");// action 客户端请求类型String action = recvDataStr[0];//搜索请求 if(action.equals("SEARCH")){ String imgPath = recvDataStr[1];String imgDepends = recvDataStr[2];SearchDependsType searchDependsType;switch (imgDepends) {case "AutoColorCorrelogram":searchDependsType = SearchDependsType.AutoColorCorrelogram;break;//略..default:searchDependsType = SearchDependsType.CEDD;break;}Searcher mySearcher = new Searcher();//开始搜索,默认搜索60幅图像mySearcher.DoSearch(imgPath, searchDependsType, 60);String str = "";for(int i=0; i< Searcher.imgList.size();i++){str+=Searcher.imgList.get(i)+"CSU";}System.out.println("Send String is: " + str);outbuf.write(str);outbuf.close();}else if(action.equals("INDEX")) { //索引请求 //建立索引文件String imagePath="ImagesFolder";Indexer myIndexer = new Indexer();boolean isIndexover = myIndexer.IndexAll(imagePath);if(isIndexover){String str = "Index over!";System.out.println(str);outbuf.write(str);outbuf.close();}}tclient.close();
服务端根据不同请求作相应的索引或者检索处理。
系统效果
客户端界面
CEDD算法的检索效果
PHOG算法的检索效果
后台索引文件创建
源码路径
项目地址路径分享:
https://github.com/lesliefish/ImageSearcher
基于LIRE的图像检索系统(C/S架构)相关推荐
- 基于内容的图像检索系统(合集)
基于内容的图像检索,即CBIR(Content-based image retrieval),是计算机视觉领域中关注大规模数字图像内容检索的研究分支.典型的CBIR系统,允许用户输入一张图片,以查找具 ...
- python是商业组织吗_基于Python的电子商务系统的弹性架构与思考
DOI:10. 19392 / j. cnki. 1671-7341. 201815075 基于 Python 的电子商务系统的弹性架构与思考 谢钟扬 湖南软件职业学院 湖南湘潭 411100 摘 要 ...
- 基于内容的图像检索系统的设计与实现
基于内容的图像检索系统的设计与实现 摘 要:图像作为最基本.最重要的多媒体信息形式之一,已经随着信息技术和网络技术的发展,而越来越广泛地应用于许多领域.如何提供一个快速的.有效的图像信息检索系统已成为 ...
- vc++实现基于内容的图像检索系统(一)
vc++实现基于内容的图像检索系统(一) 系统设计 下载数据集 检索用的图像数据,下载网址: http://cecas.clemson.edu/~stb/research/headtracker/se ...
- 多方法的基于内容的图像检索系统(CBIR)搭建--基于python
多方法基于内容的图像检索系统(CBIR)搭建 代码实现地址 系统简介 随着数字图像的数量的急速增长,如何快速.高效地从海量图像数据库中检索出客户所需要的数据和信息是当前图像应用领域的重要问题.伴随着数 ...
- python tensorflow 以图搜图_GitHub - lomoss/SearchImage: 基于VGG16的图像检索系统,简单的以图搜图。...
项目介绍: 一个简单以图搜图的demo项目,采用vgg16提取特征值,使用Miluvs向量搜索引擎,只有简单几个文件,没有什么技术含量. 项目目录: -SearchImage#项目 -app#Flas ...
- 使用LIRe来实现基于多特征描述符的图像检索系统
使用LIRe来实现基于多特征描述符的图像检索系统 摘要 - 因为没有完美的特征描述符可以适合描述任何图像,本文提出组合不同的特征描述符来做基于内容的图像检索和使用LIRe实现图像检索系统.实验表明使用 ...
- 基于deep learning的快速图像检索系统
深度学习与计算机视觉(11)_基于deep learning的快速图像检索系统 作者:寒小阳 时间:2016年3月. 出处: 声明:版权所有,转载请联系作者并注明出处 1.引言 本系统是基于CV ...
- 基于MATLAB图像检索系统GUI设计解析
一.课题背景 随着互联网技术向宽带.高速.多媒体方向的发展,人类正快速进入一个信息化的时代.各种信息工具.技术.载体等应运而生.在众多类型的信息资源中,图像具有直观.形象.易于理解和信息量大等特点,成 ...
最新文章
- 【Zookeeper系列】ZooKeeper管理分布式环境中的数据(转)
- Spring源码编译及过程中的一些问题总结
- seo超强外部链接、内部链接技巧
- Shell应用:批量将文件编码由gbk转utf-8
- 洛谷 P1219 ---- 八皇后
- java主动对象模式_POCO的主动对象
- dp----最少硬币问题
- 口嫌体直聂远,撩人于无形茅子俊,《皓镧传》吴谨言求问该选谁?
- iproute2 对决 net-tools
- PHP实现动态获取函数参数的方法
- 机器学习课程笔记【五】- 支持向量机(2)
- 【优化分类】基于matlab遗传算法优化支持向量机分类(多输入多分类)【含Matlab源码 QF003期】
- php 时间戳 24小时制,如何在php中添加24小时的unix时间戳?(How do I add 24 hours to a unix timestamp in php?)...
- vue 导出excel
- 基于微信小程序毕业论文选题系统(微信小程序毕业设计)
- 深度学习入门笔记(8)——什么是optim?
- 手机版minecraft java材质_材质包 - Minecraft Wiki,最详细的官方我的世界百科
- InfoPath 2007表单应用
- JAVA入门——lesson 7
- 嵌入式微处理器的分类有哪些?