学习
实践
活动
工具
TVP
写文章

图片相似匹配中的特征提取方法综述

入职以来主要负责部门内基于大规模图像和视频检索、匹配的恶意内容过滤算法。 一、引言 图片相似匹配,即对比两张图片相似程度,可以用于图片搜索、聚类、版权保护、恶意图片过滤等应用。 本文主要介绍用于图片相似匹配的特征各类特征提取方法。 对于图片相似匹配,可根据匹配的形式分为四个层次,分别概括如下: 1.像素级别相似:两张图片每个对应像素值完全相等,直接表现就是两张图片文件在二进制内容上完全一致。 2. 下面本文着重介绍用于各个层次图片相似匹配技术的特征提取方法。 二、图片相似匹配中的特征提取 2.1 全局视觉相似 两张像素级相似图片经过缩放和压缩等操作后,视觉上保持基本一致,但图片本身的像素值数据差异较大。

3.6K90

学习|OpenCV匹配相似轮廓

其实查找相似的东西用机器学习训练的方式处理应该是最好的,今天做的这个小练习主要是针对OpenCV的matchShapes函数的练习,正好把OpenCV的几个函数综合运用一下。 实现效果 ? 从图上我们可以看出来,通过鼠标点击找到我们要实现的轮廓,然后通过匹配轮廓把找到的轮廓在左边的图中都画出来,其中是我们点击的轮廓就红色填充,匹配相似轮廓用的蓝色填充,就是实现的一个这样简单的效果。 ,获取鼠标点击的轮廓pointPolygonTest 4 轮廓匹配matchShapes 代码实现 ? <Point> ptcontour = getPointContour(contours, pt); if (ptcontour.size() <= 0) return dst; //获取相似轮廓 ) { double ret = matchShapes(ptcontour, contours[t], CONTOURS_MATCH_I3, 0.0); cout << t << "相似

1.3K10
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    图片相似度分析工具】

    本工具能自动检测分析所提供的WORD及EXCEL文档中的所有图片相似度,能有效的提高报告自检效率。 ---- 数据需求 ---- 把要检测的文档放到”文档”目录下: ? ? 运行说明 ---- 双击“图片相似度分析工具”开始运行分析,运行界面如下: ? 运行完成后,文档中所提取出来的所有图片保存在“图片提取”目录下,分析出来的结果保存在”图片相似度+当前日期”EXCEL文档中: ? 输出结果筛选图片相似度高于85%的: 文档名 图片名1 图片名2 图片相似度 4G伪基站 image10.png image2.png 93.64% 4G伪基站 image10.png image7.png 97.83% RRC重建相关问题定位 image10.png image20.emf 95.97% RRC重建相关问题定位 image10.png image21.png 93.26% 文档提取的图片保存在文档类型

    2.3K20

    相似图片搜索的原理

    上个月,Google把”相似图片搜索”正式放上了首页。 你可以用一张图片,搜索互联网上所有与它相似图片。点击搜索框中照相机的图标。 ? 一个对话框会出现。 ? 你输入网片的网址,或者直接上传图片,Google就会找出与其相似图片。下面这张图片是美国女演员Alyson Hannigan。 ? 上传后,Google返回如下结果 ? 类似的”相似图片搜索引擎”还有不少,TinEye甚至可以找出照片的拍摄背景。 ? 这种技术的原理是什么?计算机怎么知道两张图片相似呢? 根据Neal Krawetz博士的解释,原理非常简单易懂。 结果越接近,就说明图片相似。 下面是一个最简单的实现: 第一步,缩小尺寸。 将图片缩小到8×8的尺寸,总共64个像素。 实际应用中,往往采用更强大的pHash算法和SIFT算法,它们能够识别图片的变形。只要变形程度不超过25%,它们就能匹配原图。

    71850

    相似图片搜索的原理

    作者: 阮一峰 日期: 2011年7月21日 上个月,Google把"相似图片搜索"正式放上了首页。 你可以用一张图片,搜索互联网上所有与它相似图片。点击搜索框中照相机的图标。 你输入网片的网址,或者直接上传图片,Google就会找出与其相似图片。下面这张图片是美国女演员Alyson Hannigan。 上传后,Google返回如下结果: 类似的"相似图片搜索引擎"还有不少,TinEye甚至可以找出照片的拍摄背景。 结果越接近,就说明图片相似。 下面是一个最简单的实现: 第一步,缩小尺寸。 将图片缩小到8x8的尺寸,总共64个像素。 实际应用中,往往采用更强大的pHash算法和SIFT算法,它们能够识别图片的变形。只要变形程度不超过25%,它们就能匹配原图。

    73310

    相似图片搜索的原理

    上个月,Google把"相似图片搜索"正式放上了首页。 你可以用一张图片,搜索互联网上所有与它相似图片。点击搜索框中照相机的图标。 ? 一个对话框会出现。 ? 你输入网片的网址,或者直接上传图片,Google就会找出与其相似图片。下面这张图片是美国女演员Alyson Hannigan。 ? 上传后,Google返回如下结果: ? 类似的"相似图片搜索引擎"还有不少,TinEye甚至可以找出照片的拍摄背景。 ? 结果越接近,就说明图片相似。 下面是一个最简单的实现: 第一步,缩小尺寸。 将图片缩小到8x8的尺寸,总共64个像素。 实际应用中,往往采用更强大的pHash算法和SIFT算法,它们能够识别图片的变形。只要变形程度不超过25%,它们就能匹配原图。

    1.4K70

    相似图片搜索的原理(二)

    一、颜色分布法 每张图片都可以生成颜色分布的直方图(color histogram)。如果两张图片的直方图很接近,就可以认为它们很相似。 ? 这个向量就是这张图片的特征值或者叫"指纹"。 于是,寻找相似图片就变成了找出与其最相似的向量。这可以用皮尔逊相关系数或者余弦相似度算出。 二、内容特征法 除了颜色构成,还可以从比较图片内容的相似性入手。 首先,将原图转成一张较小的灰度图片,假定为50x50像素。然后,确定一个阈值,将灰度图片转成黑白图片。 ? ? ? 这个矩阵就是一张图片的特征矩阵。 两个特征矩阵的不同之处越少,就代表两张图片相似。这可以用"异或运算"实现(即两个值之中只有一个为1,则运算结果为1,否则运算结果为0)。 对不同图片的特征矩阵进行"异或运算",结果中的1越少,就是越相似图片。 (完)

    59160

    老司机带你检测相似图片

    导语: 本文从从图片的dhash,ahash,phash,颜色分布向量到基于语义的sift,surf,gist特征,构建一套分层相似图片检测系统。 本文致力于零基础单机快速搭建一个可用的相似图片识别系统。 1 背景 相似图片检测的定义是人眼看起来像,比如下面的俩图。 不管了,先把相似图片识别出来 2 检测的原理 图片相似检测无非是提取图片某个维度的特征,根据算法两两计算相似度。(基于机器学习,深度学习的方法则会先构建一个模型,然后将新样本特征输入模型即可。) ,如果匹配到了相似度极高的则直接认定其为仿冒图标;如果匹配到了相似度较高的则转入sift,gist高级特征匹配。 这个时候需要对向量元素归一化,使得相似图片的大部分gist特征相同。

    7.8K30

    图片相似度识别:pHash算法

    前面已经整理了aHash和dHash的算法原理和python代码(戳:图片相似度识别:aHash算法,图片相似度识别:dHash算法),今天来介绍hash三兄弟的最后一个——pHash。 1 pHash算法 pHash中文叫感知哈希算法,通过离散余弦变换(DCT)降低图片频率,相比aHash有更好鲁棒性。 基本原理: 缩小尺寸。将图片缩小为32*32大小。 灰度化处理。 (与aHash类似) 图片配对,计算汉明距离 2 DCT 一维DCT变换公式: ? f(i)为原始的信号,F(u)是DCT变换后的系数,N为原始信号的点数,c(u)是补偿系数。 DCT变换是对称的,因此可以对经过DCT变换的图片进行还原操作。 3 Python实现 本例中依然计算以下两张图片相似度: ? (image1) ? 从上述例子也可以看出,用不同的方法最后的相似度数值不同,因此在实际应用中还需结合实际效果不断调整确定阈值。

    4K10

    python 爬取网站图片图片链接相似

    字体效果查看 思路设计 通过观察目标网页中字符图片的链接,很容易发现每个字符图片的直链是由两部分组成。 固定链接 图片文件编号 其中固定连接为https://image.xiezixiansheng.com/users/2010/700/unzip/579767/, 图片文件为xxxxx.png@50q ,如果去掉@50q,获取到的图片就是透明背景的不然就是白色背景。 说了这么多,既然图片链接这么简单,所以我是想暴力遍历,搜索图片,判断链接状态码,然后下载图片。 共爬取",total,"张图片!")

    24520

    图片相似度识别:dHash算法

    之前已经介绍了aHash算法的基本原理及python实现代码(图片相似度识别:aHash算法),本次来继续介绍图片相似度识别的另一常用哈希算法——dHash。 1 dHash算法 aHash中文叫差异哈希算法,在对图片进行哈希转换时,通过左右两个像素大小的比较,得到最终哈希序列。 基本原理: 缩小尺寸。 将图片缩小为9*8大小,此时照片有72个像素点。 灰度化处理。 计算差异值,获得最后哈希值(与aHash主要区别处)。 图片配对,计算汉明距离。 2 Python实现 本例中依然计算以下两张图片相似度: ? ? 可见两张图片相似度非常低。 3 优缺点 优点:速度快,判断效果比aHash好

    2.7K10

    Python实现图片相似度计算

    图片相似度 概述 今天在用一个软件清理手机时,看到了一个比较好的功能:相似图片删除。软件识别出相册中类似的图片,删除相似图片,进而释放手机存储。 本推文提到的所有图片均拍摄于武汉市。祝福武汉,祝福湖北,祝福中国。 项目总述 导入一个已知图片,计算各个图片与已知图片相似度,并输出相似度。 具体计算策略为:导入图片、计算图片的直方图、图片归一化处理、利用compareHist()进行比较相似度。 最后打印相似度,然后输出直方图值,其中图像的x轴是指的图片的0~255之间的像素变化,y轴指的是在这0~255像素所占的比列。 2、相似图片相似度0.89) ? 3、直方图展示 ?_

    1.1K20

    相似图片搜索的原理(二)

    作者: 阮一峰 日期: 2013年3月31日 二年前,我写了《相似图片搜索的原理》,介绍了一种最简单的实现方法。 一、颜色分布法 每张图片都可以生成颜色分布的直方图(color histogram)。如果两张图片的直方图很接近,就可以认为它们很相似。 这个向量就是这张图片的特征值或者叫"指纹"。 于是,寻找相似图片就变成了找出与其最相似的向量。这可以用皮尔逊相关系数或者余弦相似度算出。 二、内容特征法 除了颜色构成,还可以从比较图片内容的相似性入手。 首先,将原图转成一张较小的灰度图片,假定为50x50像素。然后,确定一个阈值,将灰度图片转成黑白图片。 对不同图片的特征矩阵进行"异或运算",结果中的1越少,就是越相似图片。 (完)

    26710

    图片相似度识别:aHash算法

    aHash、pHash、dHash是常用的图像相似度识别算法,原理简单,实现方便,个人把这三个算法作为学习图片相似度识别的入门算法。本次起,从aHash开始,对三个算法的基本原理和实践代码进行梳理。 1 aHash算法 Hash算法进行图片相似度识别的本质,就是将图片进行Hash转化,生成一组二进制数字,然后通过比较不同图片的Hash值距离找出相似图片。 这样做会去除图片的细节,只保留结构、明暗等基本信息,目的是统一图片大小,保证后续图片都有相同长度的哈希值,方便距离计算。 图片配对,计算汉明距离。距离越近,越相似。当图片缩小为8*8时,通常认为汉明距离小于10的一组图片相似图片。 2 Python实现 本例中将计算以下两张图片相似度: ? (image1) ? 可见两张图片相似度非常低。

    2.9K30

    java 图片相似度判判断

    通过这篇文章搞清楚了“感知哈希算法”的基本原理,  《三种基于感知哈希算法的相似图像检索技术》,发现原理很简单,很适合我等粗人,呵呵,于是在java下实现了这个算法的代码 : java实现 package String hashValue){ return compare(new FingerPrint(hashValue)); } /** * 与指定的指纹比较相似度 (byte[] hashValue){ return compare(new FingerPrint(hashValue)); } /** * 与指定图像比较相似度 ,数组长度必须一致否则抛出异常 * @param f1 * @param f2 * @return 返回相似度(0.0~1.0) */ private static System.out.println(fp1.toString(true)); System.out.printf("sim=%f",fp1.compare(fp2)); } } 结果越接近1,说明两张图片相似

    2.1K20

    图片大小的相似

    pic_size_most_similar(source, dsts): """ 原理:无论目标图多大,把它等比缩放(扩大)到与原图等宽 然后算出此时的高,求与原图高的差距,即可算出相似性 返回大小最相似图片 时间复杂度: n """ target = None mini_distance = 65535 for dst in dsts:

    29310

    使用Faiss进行海量特征的相似匹配

    背景 我们不妨想象下面的几个例子: 输入一张商品的图片,从商品库中匹配相似的商品,这是以图搜图的一个例子; 输入一小段音乐,从音乐库中匹配出对应的音乐出,这是MIR的一个例子; 输入一张人脸,从人脸底库中匹配出对应的人 ,这是1:N 人脸识别的一个例子; 像这样的例子还有很多,事实上,以神经网络对样本进行特征的提取,然后在海量的特征库里进行特征相似度的搜索/比对/匹配,已经是AI技术落地的一大领域。 Faiss就是Facebook维护的一个高效的特征相似匹配和聚类的库。 本文将从最基本的特征比对说起,然后落脚到我们为什么需要Faiss,以及Faiss上提供的在特征比对之外的功能。 ,之后,待搜索的图片就和该特征库来做相似匹配。 =3) >>> D [0.0, 14.658945083618164, 15.17888069152832] >>> I [248, 225, 448] 上面的代码演示了从特征库中去搜索最相似图片

    1.3K20

    均值哈希算法计算图片相似

    或者说高频可以提供图片详细的信息,而低频可以提供一个框架。 而一张大的,详细的图片有很高的频率,而小图片缺乏图像细节,所以都是低频的。 所以我们平时的下采样,也就是缩小图片的过程,实际上是损失高频信息的过程。均值哈希算法就是利用图片的低频信息。具体步骤:(1)缩小尺寸:将图片缩小到8x8的尺寸,总共64个像素。 这一步的作用是去除图片的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。(2)简化色彩:将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。 (5)计算哈希值:将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序就行了。 最后得到两张图片的指纹信息后,计算两组64位数据的汉明距离,即对比数据不同的位数,不同位数越少,表明图片相似度越大。

    12010

    【源代码--文档图片相似度核查】

    实现功能 实现功能:利用Python实现WORD、EXCEL文档中图片相似度核查: ? 输出结果筛选图片相似度高于85%: ? 源代码

    34530

    图片结构相似性算法:SSIM

    之前介绍了通过Hash进行图片相似度识别的一系列算法,本次接着来介绍另一种非常常用的衡量两幅图片相似度的指标——SSIM。 1 SSIM算法 SSIM(structural similarity)是一种用来衡量图片相似度的指标,也可用来判断图片压缩后的质量。 SSIM计算时需要保证图片大小相同,并且根据上述算法原理得知,要基于灰度进行计算,因此对图片进行灰度化处理。 STEP 2:加窗。 完整代码: 借鉴网上代码并用以下两张图片为例: ? (image1) ?

    3.7K22

    扫码关注腾讯云开发者

    领取腾讯云代金券