下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图片相似度判断-差异值哈希算法JAVA版在网上找了好久都没有找到判断图片相似度的差异值哈希算法的JAVA版正确实现,自己手写了一个,提供给大家参考。差异值哈希算法的流程(dHash)图片缩放为9*8大小将图片灰度化差异值计算(每行相邻像素的差值,这样会生成8*8的差值,前一个像素大于后一个像素则为1,否则为0)生成哈希值packagecom.example.demo.hello;importjavax.imageio.ImagelO;importjava.awt.*;importjava.awt.image.Bufferedlmage;importjava.io.File;importjava
2、.io.IOException;/*差异哈希算法*/publicclassDHashUtil/*计算dHash方法*paramfile文件returnhash*/privatestaticStringgetDHash(Filefile)读取文件BufferedlmagesrcImage;trysrcImage=ImagelO.read(file);catch(lOExceptione)e.printStackTrace();returnnull;文件转成9*8像素,为算法比较通用的长宽BufferedlmagebuffImg=newBufferedImage(9,8,BufferedImage
3、.TYPE_INT_RGB);buffImg.getGraphics().drawImage(srcImage.getScaledInstance(9,8,Image.SCALE_SMOOTH),0,0,null);intwidth=buffImg.getWidth();intheight=buffImg.getHeight();intgrayPix=newintwidthheight;StringBufferfigure=newStringBuffer();for(inty=0;yheight;y+)for(intx=0;x16&0 xff;intg=rgb8&Oxff;intb=rgb&O
4、xff;intgray=(r*30+g*59+b*11)/100;grayPixxy=gray;开始计算dHash总共有9*8像素每行相对有8个差异值总共有8*8=64个if(x!=0)longbit=grayPixx-1ygrayPixxy?1:0;figure.append(bit);returnfigure.toString();/*计算海明距离vp*原本用于编码的检错和纠错的一个算法*现在拿来计算相似度,如果差异值小于一定阈值则相似,一般经验值小于5为同一张图片*paramstrlparamstr2return距离*/privatestaticlonggetHammingDistanc
5、e(Stringstrl,Stringstr2)intdistance;if(str1=null|str2=null|str1.length()!=str2.length()distance=-1;elsedistance=0;for(inti=0;istr1.length();i+)if(str1.charAt(i)!=str2.charAt(i)distance+;returndistance;/DHashUtil参数值为待处理文件夹publicstaticvoidmain(Stringargs)Filefile1=newFile(xxx/1.jpg);Filefile2=newFile(xxx/2.jpg);System.out.println(图片1hash值:+getDHash(file1);System.out.println(图片2hash值:+getDHash(file2);System.out.println(海明距离为:+getHammingDistance(getDHash(file1),getDHash(file2);运行结果如下:图片lhash值:1001110011111000101100101001010011001000111000001001100011000000图片2hash值:1001110011111000101
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二手车交易协议个人
- 劳动合同解除协议书大全七篇
- 颈动脉斑块病因介绍
- 公司借款的协议书范本10篇
- 单位股东合作的协议书
- 药物中毒性周围神经病病因介绍
- 2023-2024学年天津市五区县重点校联考高三(上)期末语文试卷
- 2023年天津市部分区高考语文二模试卷
- 江苏省盐城市建湖县汉开书院学校2023-2024学年七年级上学期第二次月考道德与法治试题(解析版)-A4
- 食品工厂机械与设备模拟习题与参考答案
- 2023年民航湖北空管分局招聘考试真题
- 院感相关知识培训内容
- 化疗药物外渗的预防及处理-4
- 外研版(三起)(2024)小学三年级上册英语全册教案
- 2024寿山石买卖合同范本
- 八上必读名著《红星照耀中国》真题精练(综合题)
- 食品安全自查、从业人员健康管理、进货查验记录、食品安全事故处置等保证食品安全规章制度
- 人教版(2024新版)七年级上册数学全册重点知识点讲义
- 新概念英语青少版2A(1-15)期末测试卷
- 维稳办签订协议书范文模板下载
- 2024陕西榆林市黄河东线引水工程限公司招聘20人高频难、易错点500题模拟试题附带答案详解
评论
0/150
提交评论