差异哈希算法(Different Hash Algorithms,dHash),像aHash和pHash一样,dHash易于实现,相比于它的简单,其实它的识别更为准确。作为一种感知算法的实现,dHash比aHash相近,但比aHash效果更好。aHash关注于平均值,pHash关注频率模式,dHash则基于渐变。下面介绍下dHash算法的工作原理。

算法步骤

  1. 缩小尺寸。最快速去掉高频和细节的办法就是缩小民族教育。在这里,收缩到9*8的大小,以便它有72的像素点(之后会解释为什么这样)。通过忽略尺寸和纵横比,不管图片如何伸缩,该hash都能匹配相似的图片。
  2. 简化色彩。转化为灰度图。把缩放后的图片转化为256阶的灰度图。将72个像素转变为72个颜色(为达到最佳效果,可以在缩放尺寸前简化色彩,或者缩放和简化色彩同时进行)
  3. 计算差异值。dHash算法工作在相邻像素之间,这标识了相对的渐变方向。这样每行9个像素之间产生了8个不同的差异,一共8行,则产生了64个差异值。
  4. 获取指纹。如果左边的像素比右边的更亮,则记录为1,否则为0(这里用1代表p[x]<p[x+1],设置位从左及右,从上及下的大边)

图片识别——差异哈希算法相关推荐

  1. 图片识别——均值哈希算法

    均值哈希算法(Average hash algorithm,AHA)第一次是从著名的阮一峰阮老师的博文<相似图片搜索的原理>看到的.而此篇文章与阮老师也很类似Looks Like It - ...

  2. 图片识别——感知哈希算法

    所谓感知哈希算法(Perceptual hash algorithm,PHA),它是用于对多种格式的数据生成一个指纹的算法.当然本文只讨论图片格式.感知哈希不同于密码哈希(如md5云云),它对于相似特 ...

  3. ML之K-means:基于(完整的)手写数字图片识别数据集利用K-means算法实现图片聚类

    ML之K-means:基于(完整的)手写数字图片识别数据集利用K-means算法实现图片聚类 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 metrics.adjusted_ran ...

  4. 图片识别——三种哈希算法性能与准确度比较

    前面几篇文章对图片的三种哈希算法做了简单的介绍:均值哈希算法,感知哈希算法,差异哈希算法.本篇将对上面算法做一个总结.并对在性能方面做些对比. 性能和准确度 目前有个超过150,000张图片的实验,有 ...

  5. 相似图片搜索的三种哈希算法

    想必大家都用google或baidu的识图功能,上面就是我搜索冠希哥一幅图片的结果,达到图片比较目的且利用信息指纹比较有三种算法,这些算法都很易懂,下面分别介绍一下: 一.平均哈希算法(aHash) ...

  6. python查重算法_用Python实现通过哈希算法检测图片重复的教程

    Iconfinder 是一个图标搜索引擎,为设计师.开发者和其他创意工作者提供精美图标,目前托管超过 34 万枚图标,是全球最大的付费图标库.用户也可以在 Iconfinder 的交易板块上传出售原创 ...

  7. 基于感知哈希算法的中药标本相似图片的搜索

    一 前言 笔者最近在开发中药标本相似图片的搜索,就是根据用户上传的图片,然后到中药标本库里找到相似的图片,从而帮助用户识别标本,获取标本信息.查阅了大量资料,看到了阮一峰的一篇文章,经过一个月的开发终 ...

  8. MATLAB中计算图像哈希,数字图像处理算法及原理(三):相似图片搜索(平均哈希算法)...

    这里的关键技术叫做"感知哈希算法(aHash)"ash algorithm),它的作用是对每张图片生成一个"指纹"(fingerprint)字符串,然后比较不同 ...

  9. python检测图片相同部分_用 Python 实现哈希算法检测重复图片

    在 Python 中导入 hashlib 模块,调用函数就可以生成某一个字符串或者文件的哈希值.这个算法对于未被篡改的上传文件非常有效,如果输入数据有细微变化,加密哈希算法都会导致雪崩效应,从而造成新 ...

最新文章

  1. 001_Gson概述
  2. [iPhone高级] 基于XMPP的IOS聊天客户端程序(IOS端一)
  3. Oracle 数据字典表 -- SYS.COL$
  4. linux 内核 企鹅,Linux 内核 Makefile 体系简单分析
  5. webpack如何将css文件分离的,webpack--css:Less文件的打包和分离(八)
  6. java中输入两个数组并显示_java-将输入存储在两个相关的数组中
  7. 修改sublime 侧边栏 颜色 等
  8. python自学免费教程-python免费入门教程/求完整的Python入门教程
  9. python语言能做什么-python语言到底可以做什么呢?
  10. Postman-汉化插件
  11. python爬虫——中文编码
  12. php支付宝查询对账单下载地址,对账单下载 · 移动支付刷脸付API接口开发文档 · 看云...
  13. 中国最小黑客:为不做作业 黑掉学校系统
  14. 【C语言】字符串数组按字典升序
  15. macbook python文件路径_mac下python目录
  16. 网站服务器怎么做防御?遇到攻击如何解决?
  17. 腾讯云企业邮箱设置别名
  18. LOG,Harris,SUSAN角点及边缘检测原理和代码实现
  19. 思科设备SSH登录配置
  20. mysql数据库cpu占用特别高

热门文章

  1. iphone更新运营商服务器,iPhone 上提示“运营商设置”更新是什么?
  2. OCR识别 云脉慧眼 CC慧眼 拍照翻译 拍照百度搜索
  3. java:1:错误:写入Hello时出错:Hello.class(拒绝访问)
  4. 红米3s android7.1,红米3S/3X 的LineageOS14.1刷机包 安卓7.1.1原生风格 本地化 20180203更新...
  5. 「CSS畅想」何以解忧,美食足矣,用技术给好友开发了一个零食盲盒小游戏
  6. EtherCAT主站掉线后,如何保证目标系统免受故障影响?
  7. 涉嫌行贿 三星掌门人等韩企大佬将首次集体接受质询
  8. php丢失msvcr110.dll,Win7电脑丢失Msvcr110.dll的解决方法
  9. 决策树实现预测是否购买点电脑
  10. Vision Transformer 综述