LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]利用js实现图片相似度算法

freeflydom
2023年8月28日 9:35 本文热度 781

一、平均哈希算法

第一步:

缩小尺寸为8×8,以去除图片的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。

第二步:

简化色彩。将缩小后的图片转为灰度图像 (取每个像素rgb三色的平均值,[228, 233, 253, 255]-> [238, 238, 238, 255] )。

第三步:

计算平均值。计算所有像素的灰度平均值。(根据每个像素平均后的值, 计算整张图片的平均颜色值)

第四步:

比较像素的灰度。将64个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为 0。

第五步:

计算哈希值。将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。

第六步:

计算指纹的相似度,得出两张图片是否相似 。


  

二、颜色分布法

借用一篇文章的解释:

1、 每张图片都可以生成颜色分布的直方图、如果两张图的直方图很接近,就可以认为他们相似

2、 任何一种颜色都是由红绿蓝三原色组成的、我们平时用的每种原色有256个色值,整个颜色空间有1600万种颜色(256的三次方)

3、 如果用1600万种颜色去比较直方图、计算量太大了、因此需要采用简化方法,可以将0~256分城4个区、 0-63为0区,64-127为1区,128-191为2区,192-256为3区;

也就以为这简化后的图片总共会有64种颜色(4的3次方)、

4、统计64种颜色组合包含的像素数量

5、我们这里想展示每一步操作后的图片变化,取 0,1,2,3的话整张图片都是黑色、所以 0-63取的是32,64-127 取 96,128-191取 160, 192-256取 224;


6、因为颜色的组合都是固定的,所以把表格中的最后一栏(像素数量)提出来,组成一个64维向量, 便是这张图片的 “指纹”, 寻找相似的图片就是寻找相似的“指纹”

  

三、内容特征法

”内容特征法“是指把图片转化为灰度图后再转化为”二值图“,然后根据像素的取值(黑或白)形成指纹后进行比对的方法。这种算法的核心是找到一个“阈值”去生成二值图。

1、首先,将原图转化成一张灰度图片 、(可以压缩可不压缩、 最好是压缩成固定大小:可以相似图片因为图片大小不一样带来的差异, 减少一定的计算,减小最终指纹的长度)

2、确定一个阈值,将灰度图片转化为黑白图片


 
 

具体代码实现请查看原文



该文章在 2023/8/28 9:35:58 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved