Giter Club home page Giter Club logo

cbir's Introduction

Content Based Image Retrieval

程序总体流程

  • 初始化: ImageLib,根据 libDir 递归读入并计算每个图像的特征,加入特征库,将特征库写入特征库文件。

  • 检索:计算检索图像特征,使用 Similarity 类 计算检索图像和图像库图像的相似性,返回 Top K 个图像。

  • 二次检索:根据正反馈重新分配颜色特征和形状特征的权重重新检索;或者用反馈图像和源检索图像重新生成查询特征并重新检索

使用方法

注意:目前只支持 Windows 64 位系统

下载 CBIR.rar 文件解压后进入文件夹 CBIR

生成特征库进行检索

  1. 双击 “CBIR.exe” 打开软件

  2. 点击 “浏览” 选择图像所在文件夹。注意:由于还没有优化,性能比较差,希望图像20张以内

  3. 点击 “Build” 提取图像特征;等待几分钟后提示 “构建特征库完成”,期间可能会出现 "无响应" 现象,等一会就可以了

  4. 点击 “选择查询图像”“浏览” 随便选择一张图像

  5. 点击 “Search” 开始搜索;检索结果会显示在右边,按照相似性返回最相关的8个

  6. 点击 “上一页” “下一页” 浏览

  7. 二次检索(查询向量相关反馈):可以选中你觉得和原图像比较相似的图像下面的复选框,点击 "Research" 进行二次检索。 可以看看检索结果是不是有提高

  8. 二次检索(特征权重相关反馈):也可以根据第一次查询的结果,在颜色权重中填入数值重新分配权重,再点击 "Searcher" 重新检索。

通过加装特征库文件进行检索

  1. 关闭软件后,再次打开,这时可以点击 “选中库文件”“选择”,选择该文件夹中上一次构建图像特征库生成的文件 “imagefeaturelib.txt”,点击 “Load” 加载特征,大概要1分钟,会提示加载成功或失败,加载成功后可以再次选择查询图片进行检索。
  2. 如果没有选定库文件,默认加载当前目录的**“imagefeaturelib.txt”** 文件
  3. 如果要重新生成图像特征库,可以点击 “选择库目录” 中的 “浏览” 选择新的文件夹。

源代码:https://github.com/ictlyh/CBIR
Powered by:罗远浩 黄博阳

cbir's People

Watchers

James Cloos avatar Yuanhao Luo avatar

Forkers

silasxue

cbir's Issues

Qt 路径

Qt 为 ImageLib 设置 libDir 和 libFile 时会出现乱码,导致无法构建图像特征库

结果及优化

加载50M的特征库文本文件用时70多秒,计算一个图像特征0.003秒;搜索8秒;性能优化????
检索结果正确率 5/8,如何提高??
跳过了 cvLoadImage 失败图像,但是估计有1/10,如何处理?

完成初步调试

下一步工作:
1 调试 Similarity 和 Searcher 类
2 尽可能完成所有类所有方法的单元测试
3 无UI集成测试
4 增加UI

未知问题

1:竖直方向边缘点累积直方图最后不为一
2:不能加载某些灰度图像(depth=8)

methods Searcher

1:未实现更加反馈生成二次查询
2:未实现Searcher中的返回Top K个相关图像
3:Debug

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.