推广 热搜:     参数  行业  机械  教师  设备  系统  公司  企业 

python 以图搜图百度_基于opencv的图片检索(模仿百度的以图搜图功能)

   日期:2024-12-06     浏览:111    移动:http://sicmodule.glev.cn/mobile/quote/11450.html

曾经有一篇文章简单的介绍了CBIR(Content-based Image Retrieval),详细内容猛戳基于内容的图像检索技(CBIR)术相术介绍。CBIR由于其应用的广泛性,特别是近年来,随着数码设备的迅猛普及,网络上的图片每天以几十亿级的速度猛增,而且对于一些摄影爱好者和自拍族来说,电脑和存储设备里更是有数不清的图片,如何从这么多图片中找到自己所需的图片是困惑很多人的难题。而CBIR正是这问题的一种一种很好的解决方式。

python 以图搜图百度_基于opencv的图片检索(模仿百度的以图搜图功能)

本文将介绍用Python和OpenCV创建一个简单的图片搜索引擎。

系统架构:

CBIR系统的构建主要包括:

1)定义图像描述符(图像特征提取)

这一阶段,需要决定描述图像的哪一方面。图像的可描述特征很多、包括颜色、形状、纹理、能量等,而颜色有分为很多种,如颜色直方图、颜色矩等。在这一阶段,我们选定要提取的颜色特征,根据应用的不同,选取的颜色特征可以是一种或多种。

2)索引化数据集(存储)

现在有了图像描述符,接着就是将这个图像描述符应用得到数据集中的每幅图像,提取这些图像的特征,将其存储起来(如CSV文件、RDBMS、Redis数据库中),这样后续步骤就能使用以便比较。

3)定义相似矩阵

很好,现在有了许多特征向量。但如何比较这些特征向量呢?比较常用的流行的相似性度量方式有:欧几里德距离、余弦距离、或卡方距离、巴氏距离、闵式距离、相关性等。但实际中取决于两点:①、数据集;②、提取的特征类型。

4)检索

上面步骤都完成了,剩下的就是根据输入的图片,从图像库中检索相似的图像并返回了。用户会向系统提交一幅需要搜索的图片(例如从上传窗口或通过移动App提交),而你的任务是:1、提取这幅图像的特征;2、使用相似度函数将这幅图像的特征与已经索引化的特征进行比较。这样,只需根据相似度函数的结果,返回相关的图像就可以了。

环境说明:

python3.6

opencv3

执行说明:

1、首先生成index检索文件:python index.py  -d   d:/picture/test/    -i   d:/picture/index.csv

2、接着就是搜索相似图片:python Search.py  -i d:/picture/index.csv   -q   d:/pic

本文地址:http://sicmodule.glev.cn/quote/11450.html    歌乐夫 http://sicmodule.glev.cn/ , 查看更多

特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关行业动态
推荐行业动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号