当前位置:首页 > 娱乐星闻

百度以图搜图 谷歌百度以图搜图如何实现?教你打造属于自己的相似图片搜索引擎

类似图片前情提要:

图像颜色直方图

在前一篇文章中,我们分享了图片的3D颜色直方图。颜色直方图反映了图片中像素的分布状态。当然,不同的图片有不同的颜色直方图。利用不同图片的颜色直方图的比较值,我们可以很容易地找到两幅相似的图片。图片的3D颜色直方图:

既然要用图片的颜色直方图来比较类似的图片,那么首先需要收集和维护图片的直方图数据。导入pickle导入cv2导入OS类RGB直方图:def _ _ init _ _: self。bin = bin def description:hist = cv2。calc hist = cv2。正常化返回历史。公寓

代码截图

首先,我们建立一个函数来计算RGB空之间的三维颜色直方图,并使用这个函数来计算图片直方图

我们还是用cv2.calcHist函数来计算图片的直方图。关于这个函数的具体参数定义,可以参考前面的文章。这里我们一般搜索的图片都是彩色图片,所以我们计算图片的RGB空之间的直方图。

然后使用cv2.normalize opencv图像归一化函数,就是以某种方式把矩阵的值变成某个区间,可以有效节省计算机空计算Cv.normalize)

Src输入阵列;

DST输出一个与原数组大小相同的数组;

Alpha 1,用来规范数值,2。规范范围,是下限;

Beta只是用来规范范围,是上限;//为0时为值规范化,否则为范围规范化

Norm _ type将选定的数学公式类型规范化;

当dtype为负时,输出的大小和深度中的通道数等于输入。为正时,输出只是深度上与输入不同,差异由DTYPE决定;

标记面具。选择感兴趣的区域,选择后才能操作。

然后以展平数组的形式返回三维图片直方图,收集图片直方图数据:

在图像直方图函数建立后,我们可以收集我们的图像直方图的数据,这类似于我们首先需要神经网络,我们需要一个预训练模型索引= { } desc = rgbhistogramlist _ images = for root,dirs。file in OS . walk:for file in file:list _ images . append)for imagePath in list _ images:k = image path image = cv2 . imread features = desc . describe index = features with open as f:f . write)

Index{}字典用于保存图片的路径和直方图数据

对于os.walk中的root、dirs、files,首先使用os.walk函数遍历整个图片的文件夹,得到图片的相对路径地址

以图像路径图像的路径为关键,以特征描述图像的直方图数据为值,形成索引字典保存图像数据

得到图片的字典数据后,我们用f.write)

保存图片的直方图数据,以备后用。当然,这部分数据可以保存到自己的服务器上。当用户搜索熟人图片时,前端获取用户的图片数据,服务器搜索熟人图片,然后返回前端检索到的图片数据显示图片。

代码截图

以上,我们收集了图片的直方图数据并保存了数据,类似于我们前面解释的神经网络预训练模型。下一步当然是“神经网络预测”,搜索与图像检测相关的图片:

如果要搜索熟人图片,首先保证前面的步骤已经完成,自己的数据已经保存,然后接受用户的输入图片。熟人搜索图片导入numpy为NP导入OS导入pickle导入cv2类RGB直方图:def _ _ init _ _: self。bin = bin def description:hist = cv2。calc hist = cv2。正常化返回历史。公寓

首先,我们建立了图像直方图的函数。这里这个功能主要是从用户操作图片直方图。该函数的具体含义参见上面的文章

代码截图

然后我们创建了一个新的搜索函数,主要处理输入直方图和数据库直方图的比较。classsearcher: def _ _ init _ _: self。index = index def search:results = { } for in self . index . items:d = self . chi 2 _ distance results = d results = sorted for in results . items])返回results def chi 2 _ distance:d = 0.5 * NP . sum * * 2)/for in ]))返回d

首先,我们加载索引数据库,其中存储了图片的直方图数据

然后遍历所有索引数据为自己。索引。项目:计算每个数据库中的图片直方图和输入图片直方图之间的卡方距离

卡方距离

卡方距离越小,两幅图越相似

使用排序函数对in results.items]进行排序

对图片的卡方距离进行排序,使最小距离值排列在最前面

代码截图初始化数据query image = cv2 . imreadcv2 . imshowdesc = rgbhistogamqueryfeatures = desc . descripteindex = pickle . loads . read)searcher = Searcher results = Searcher . SearchMontaGea = NP . zeros,dt type = " ui nt8 ")MontaGeb = NP . zeros,dt type = " ui nt8 ")

首先,接受用户发送的图片

desc =重力图

查询功能=描述

使用上述函数计算用户图片的颜色直方图

index = pickle.loads.read)

搜索器

初始化颜色直方图搜索引擎的数据,主要是打开服务器上的图像直方图数据进行图像搜索

results = searcher.search

进行图像相似性检索

tageA = np.zeros,dtype = " uint8 ")

tageB = np.zeros,dtype = " uint8 ")

初始化2个标签,显示我们搜索到的类似图片。在这里,我们可以轻松查看6张图片的显示

将每张图片的大小调整为400*166

当然,你只能展示最相似的图片

代码截图

我们搜索了数据库中的所有图片,结果已经存储在结果数组中。因为我们对数组进行了排序,所以最小值的前六个数组当然在数组的前面。我们只需要提取j inrange的前6个数据:= result spath = OS . path . join result = cv2 . imreadif j < 3:tagea = result else:tageb = result cv 2 . imshow cv 2 . wait key。

遍历前六个数据,得到图片保存的路径地址与每个图片的相似度的置信度

将前三个图片数据保存在tageA中,将后三个图片数据保存在tageB中,最终我们可以成功显示我们检索到的六个相似的图片

代码截图

在这里,程序成功找到了类似的图片。边肖在这里复制了3张图片,程序可以完美地找到这些图片

类似图片

1.《百度以图搜图 谷歌百度以图搜图如何实现?教你打造属于自己的相似图片搜索引擎》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《百度以图搜图 谷歌百度以图搜图如何实现?教你打造属于自己的相似图片搜索引擎》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/1440995.html

上一篇

格子衬衫可以穿在卫衣里面吗

下一篇

微胖显瘦的穿搭

谷歌以图搜图 谷歌百度以图搜图如何实现?教你打造属于自己的相似图片搜索引擎

谷歌以图搜图 谷歌百度以图搜图如何实现?教你打造属于自己的相似图片搜索引擎

类似图片前情提要:图像颜色直方图在前一篇文章中,我们分享了图片的3D颜色直方图。颜色直方图反映了图片中像素的分布状态。当然,不同的图片有不同的颜色直方图。利用不同图片的颜色直方图的比较值,我们可以很容易地找到两幅相似的...

图片搜索引擎以图搜图 谷歌百度以图搜图如何实现?教你打造属于自己的相似图片搜索引擎

图片搜索引擎以图搜图 谷歌百度以图搜图如何实现?教你打造属于自己的相似图片搜索引擎

类似图片前情提要:图像颜色直方图在前一篇文章中,我们分享了图片的3D颜色直方图。颜色直方图反映了图片中像素的分布状态。当然,不同的图片有不同的颜色直方图。利用不同图片的颜色直方图的比较值,我们可以很容易地找到两幅相似的...

以图搜图百度 谷歌百度以图搜图如何实现?教你打造属于自己的相似图片搜索引擎

以图搜图百度 谷歌百度以图搜图如何实现?教你打造属于自己的相似图片搜索引擎

类似图片前情提要:图像颜色直方图在前一篇文章中,我们分享了图片的3D颜色直方图。颜色直方图反映了图片中像素的分布状态。当然,不同的图片有不同的颜色直方图。利用不同图片的颜色直方图的比较值,我们可以很容易地找到两幅相似的...

高小琴高小凤图片 《人民的名义》谁才是高育良的情人?不是高小琴?高育良有个6岁孩子又是咋回事?

高小琴高小凤图片 《人民的名义》谁才是高育良的情人?不是高小琴?高育良有个6岁孩子又是咋回事?

现在《以人之名》更新到第43集。我以为高其实是脚踏两只船。他也是祁同伟的情人,高的情人。而且,高甚至知道祁同伟和高之间的关系,这简直不可思议。出于对后戏的关心,我点了后戏的预演,最后看到高有一个双胞胎姐姐,一直胆小懦弱...

留胡子的造型图片 做自己的胡须造型师 博朗BT32胡须造型套装图解

  • 留胡子的造型图片 做自己的胡须造型师 博朗BT32胡须造型套装图解
  • 留胡子的造型图片 做自己的胡须造型师 博朗BT32胡须造型套装图解
  • 留胡子的造型图片 做自己的胡须造型师 博朗BT32胡须造型套装图解

花的品种图片和花名 这1种四季开花的藤本植物,花名“霸气”,开起花来还很“霸道”

  • 花的品种图片和花名 这1种四季开花的藤本植物,花名“霸气”,开起花来还很“霸道”
  • 花的品种图片和花名 这1种四季开花的藤本植物,花名“霸气”,开起花来还很“霸道”
  • 花的品种图片和花名 这1种四季开花的藤本植物,花名“霸气”,开起花来还很“霸道”

减肥可爱图片 可爱的减肥表情包

  • 减肥可爱图片 可爱的减肥表情包
  • 减肥可爱图片 可爱的减肥表情包
  • 减肥可爱图片 可爱的减肥表情包

减肥的图片 可爱的减肥表情包

  • 减肥的图片 可爱的减肥表情包
  • 减肥的图片 可爱的减肥表情包
  • 减肥的图片 可爱的减肥表情包