首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

图片相似识别: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) ?...从上述例子也可以看出,用不同的方法最后的相似度数值不同,因此在实际应用中还需结合实际效果不断调整确定阈值。

6.6K10

图片相似识别:aHash算法

aHash、pHash、dHash是常用的图像相似识别算法,原理简单,实现方便,个人把这三个算法作为学习图片相似识别的入门算法。本次起,从aHash开始,对三个算法的基本原理和实践代码进行梳理。...1 aHash算法 Hash算法进行图片相似识别的本质,就是将图片进行Hash转化,生成一组二进制数字,然后通过比较不同图片的Hash值距离找出相似图片。...图片配对,计算汉明距离。距离越近,越相似。当图片缩小为8*8时,通常认为汉明距离小于10的一组图片相似图片。...2 Python实现 本例中将计算以下两张图片相似度: (image1) (image2) 图像处理库 图像处理可以用opencv包或者PIL包。...1.0 / 64 print('dist is '+'%d' % dist) print('similarity is ' +'%d' % similarity) 最终结果: 可见两张图片相似度非常低

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

python图像识别---------图片相似度计算

1.背景 要识别两张图片是否相似,首先我们可能会区分这两张图是人物照,还是风景照等......对应的风景照是蓝天还是大海......做一系列的分类。...从机器学习的的角度来说,首先要提取图片的特征,将这些特征进行分类处理,训练并建立模型,然后在进行识别。...但是让计算机去区分这些图片分别是哪一类是很不容易的,不过计算机可以知道图像的像素值的,因此,在图像识别过程中,通过颜色特征来识别相似图片是我们常用的(当然还有其特征还有纹理特征、形状特征和空间关系特征等...,这些有分为直方图,颜色集,颜色局,聚合向量,相关图等来计算颜色特征), 为了得到两张相似图片,在这里通过以下几种简单的计算方式来计算图片相似度: 直方图计算图片相似度 通过哈希值,汉明距离计算...,以及问题总结 简单的验证码识别(一)------------环境搭建 简单的验证码识别(二)----------------原理介绍 简单的验证码识别(三)----------------代码实现

10.9K41

php识别相似图片简易版

这个识别图片的原理是分析像素点,计算平均颜色,大于平均颜色则为1,小于则为0,然后进行比对 精确度很低,只能匹配形状和比例一样的图片 class img { //比较图片相似度     public function...this->thanimg($data1,$data2);         $rate=$than/(64*$rate*$rate);         return $rate;     } //计算图片数据...        }         $result = $this->imgdeflate($image);         return $result;     }     /**      * 打开一张图片...        $n_h = 8 * $rate;//新图片高度         $new = imagecreatetruecolor($n_w, $n_h);//新建一张设定真彩色宽高的图 //取出一个...copy部分图像并调整         imagecopyresized($new, $image, 0, 0, 0, 0, $n_w, $n_h, $width, $height); //图像输出新图片

1.3K10

利用python进行识别相似图片(二)

前言 和网上各种首先你要有一个女朋友的系列一样,想进行人脸判断,首先要有脸, 只要能靠确定人脸的位置,那么进行两张人脸是否相似的操作便迎刃而解了。 所以本篇文章着重讲述如何利用openCV定位人脸。...上一篇文章的地址: 利用python进行识别相似图片(一) 安装openCV opencv官网 在进行下一步操作时,我们需要安装openCV,本来安装openCV的步骤跟平常安装其他模块一样,而然 由于...cv2.imread(path)不能读取中文路径,若路径中含有中文字符,其会返回None 在后面的操作中,包括是切割图片(人脸部分),再进行局部哈希,比较相似度, 等等都是用Image对象进行操作,如果再用...同样,你也可以使用Image的crop方法把人脸部分提取出来,然后进行局部哈希, 通过上一篇文章提及的算法,比较两者的相似度。...写一只具有识别能力的图片爬虫 在上一篇文章中,我说了会应用这些算法做成以只具有识别能力的图片爬虫,然现在我也确实是在做 但考虑到作为核心的图片识别和人脸识别的部分我已经写成文章分享出来,其余部分就是想写其他爬虫一样而已

1.7K20

相似图片搜索的原理

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

2.6K70

相似图片搜索的原理

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

1.6K10

相似图片搜索的原理

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

1.6K50

图片相似度分析工具】

本工具能自动检测分析所提供的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% 文档提取的图片保存在文档类型

5.1K20

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

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

1.2K60

老司机带你检测相似图片

导语: 本文从从图片的dhash,ahash,phash,颜色分布向量到基于语义的sift,surf,gist特征,构建一套分层相似图片检测系统。...本文致力于零基础单机快速搭建一个可用的相似图片识别系统。 1 背景 相似图片检测的定义是人眼看起来像,比如下面的俩图。...不管了,先把相似图片识别出来 2 检测的原理 图片相似检测无非是提取图片某个维度的特征,根据算法两两计算相似度。(基于机器学习,深度学习的方法则会先构建一个模型,然后将新样本特征输入模型即可。)...局部敏感hash的特点是:原始数据相似的情况下,生成的hash值也会尽可能的保持相似。从图片dhash,ahash,phash的算法过程可以认为它们就是一种局部敏感哈希。所以可以用来检测相似。...这个时候需要对向量元素归一化,使得相似图片的大部分gist特征相同。

9.6K30

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

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

86910

基于Aidlux的图片相似度对比

印章检测流程:利用深度神经网络,提取印章深度特征,同时学习印章之间的相似度,自己与自己相似,自己与其它不相似。1....Siamese网络Siamese网络是一种常用的深度学习相似性度量方法,它包含两个共享权重的CNN网络(说白了这两个网络其实就是一个网络,在代码中就构建一个网络就行了),将两个输入映射到同一特征空间,然后计算它们的距离或相似度一一使用共享的卷积层和全连接层...,输出特征向量表示,然后计算相似度。...它包含三个共享权重的CNN网络,分别处理anchor、 positive和negative样本,其中positive样本与anchor相似与negative样本则不相似。...本文方法本文利用李生网络,把真章、假章同时输入进行学习,真与真相似度为1;真与假相似度为0,设计损失函数(结合BCELoss和Contrastive Loss) 进行模型训练。

17900

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

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

1.1K10
领券