首页 基于Java的相似图片搜索

基于Java的相似图片搜索

举报
开通vip

基于Java的相似图片搜索基于Java的相似图片搜索 第25卷第10期电脑开发与应用 文章编号:1003—5850(2012)10—0013一02 基于Java的相似图片搜索 龚成清 511450)(广东女子职业技术学院,广州 摘要:相似图片搜索是当前搜索技术研究的一大热点。利用相似图片搜索的原理结合Java语言的技术特点,对要进行搜索 的 图片首先进行图像变换缩小尺寸,然后进行灰度化和二值化的处理计算出对应的哈希值形成图片的指纹,最后计算出图片指 纹的 海明距离得出图片的相似度,实现了一个简单快速的相似图片搜索模型。关键词:相似图...

基于Java的相似图片搜索
基于Java的相似图片搜索 第25卷第10期电脑开发与应用 文章编号:1003—5850(2012)10—0013一02 基于Java的相似图片搜索 龚成清 511450)(广东女子职业技术学院,广州 摘要:相似图片搜索是当前搜索技术研究的一大热点。利用相似图片搜索的原理结合Java语言的技术特点,对要进行搜索 的 图片首先进行图像变换缩小尺寸,然后进行灰度化和二值化的处理计算出对应的哈希值形成图片的指纹,最后计算出图片指 纹的 海明距离得出图片的相似度,实现了一个简单快速的相似图片搜索模型。关键词:相似图片,搜索,哈希,Java 中图分类号:TP391 文献标识码:A Search Similar Based on JaVa Image Language GONG Cheng—qing (G“口咒gd口行g H,o,露e挖PD移fec^以站,G“口挖g名(IlD“511450,Chi砣口) similar search is hot in search the acurrentusesAbstract:The topic technology(This pager principle image similar search the technical characteristics of the search the similar andtoJava language imageof reduces the size(Then it the and binarization to calculate proceedsimages(Firstly,it original image’s grayscale it thehashvaluethe‘s calculatesthedistancetorealizea and produce image fingerprint( Finally Hamming and similar search model( simpk quick image words:similar 1(ey picture,search,hash,Java 搜索图片,还可以使用手绘图搜索图片,甚至可以通过 关键词搜索的技术已经非常成熟,但有些时候搜 索用户希望提供一张图片就可以找到相似的图片(即 视频缩略图搜索视频。 以图搜图,顾名思义就是上传 1(2 一张图片,搜索并显示与 Tineye 之类似的图片)。因此,相似图片搜索就 应运而生了。 Tineye是来自加拿大的一种新的在线图片搜 索 引擎,它是第一个在网络上使用图像识别技术的图像 1 常用的相似图片搜索引擎 搜索引擎。利用Tineye可以发现图片的来源与相关信 当前,相似图片搜索技术已经成为了科学界研究 息、研究追踪图片信息在互联网的传播、找到高分辨率 的一个热点,在科学家的努力下,已经有比较成熟的相 版本的图片、找到图片所在的网页和图片的不同版本 等。似图片搜索引擎,为搜索用户提供相似图片的搜索。常 1(3 见的相似图片搜索引擎有: Picitup 1(1 Ga加pa Picitup是一个专业图片搜索引擎,功能非常强 Gazopa是来自美国的一个全新的图片搜索引擎, 大,并支持中文关键字的搜索。Picitup主要支持关键 通 过自动分析图像中的元数据,例如,颜色、形状等,作 字的搜索,但也可以通过上传图片进行相似图片的搜 为搜索的关键数据,形成图像的特征从互联网上搜索 索,而且可以通过在搜索结果页选择过滤方式来筛选 图片,比如可以按颜色、头像(人脸)、风景、产品4种相似的图像,而不是依靠人为设置的文字描述来搜索。 类 Gazopa可以通过关键字来搜索图片,也可以通过图片 别来过滤搜索结果。 * 收稿日期:2012一06一03,修回日期:2012—09一05 ** 龚成清,男,1979年生,硕士,讲师,研究方向:图像处理,计算机应用技术。 万方数据 基于Java的相似图片搜索 2012年 l,4 Google相似图片搜索 2(4计算哈希值 Google是世界著名的搜索引擎, 其相似图片搜索 经过二值化处理后的图片将形成64位的二进 制 的功能一样强大。它可以通过关键字搜索图片,也可以 数据。把这64位的二进制数据组合在一起,就构成 通过上传图片搜索,还可以通过拖动图片进行搜索,具 一个64位的字符串,这就是这张图片的指纹。组了 合的 有搜索精度高、速度快等优点,深受用户的喜爱。 次序并不重要,可以从左到右,也可以从右到左,或者 是用户自定义的顺序,只要保证所有图片都采用同样 2 相似图片搜索的原理 次序就行了。 不同的搜索引擎实现相似图片搜索的过程会有所 按照上述方法,对不同的图片计算“指纹”,然后对 差别,但根据Neal Krawetz博士的解释,实现相似图 比不同图片的“指纹”,统计64位二进制数中有不同 片搜索的关键技术口q做“感知哈希算法” 的 位数。在理论上,这等同于计算“海明距 离”(Hamming (Perceptualhash algorithm)[1。,它是基于图片的感知 distance)。如果不相同的数据位不超过 5,就说明两张 图片很相似;如果大于10,就说明这内容,将图片唯一地映射为一段数字摘要,即对每张图 片。是两张不同的图 片生成一个“指纹”(fingerprint)字符串,然后比较不 同图片的指纹,比对的结果越接近,就说明图片越相 3 基于Java的相似图片搜索的实现 似。“感知哈希算法”具有对图片内容保持操作的鲁棒 性和对内容篡改的区分性,并满足单向性、篡改定位性 Java是一种可以撰写跨平台应用软件的面向 等要求,为图片内容的识别和认证提供了一种有效的 象的程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 语言,Java技术具有卓越的通用对 解决手段。 性、高 效性、平台移植性和安全性。广泛应用于个人PC、数 据 基于“感知哈希算法”相似图片搜素的实现步骤如 中心、游戏控制台、科学超级计算机、移动电话和互联 下: 网。本文利用Java的技术特点对相似图片的搜索进行 2(1 图像变换 了实现。 为了简化图片的处理,要对图像进行变换。最快速 按照“感知哈希算法”相似图片搜素的原理,在 地去除高频和细节,只保留结构明暗的方法就是缩小 Java中实现相似图片搜索的关键代码如下: 尺寸。将 输入的图片缩小到8x8的尺寸,总共64个像 3(1读取图片 素。这一步的作用是去除图片的细节, ListhashCodes=new AJrayList 只保留结构、明 ()l暗等基本信息,摒弃不同尺寸、比例带来的图片差异。 String filename=ImageHelper(path+”,,images,,『,; 2(2图像的灰度化 ,,设置图片所在的路径 彩色图像中的每个像素的颜色有R、G、B 3个分 hashCode=null; String 量决定,每一个像素点可以有1 600多万的颜色值,需 sourceHashCode:= String produceFingerPrint(filename 要大量的存储空间,不利于图像的快速处理,因此必须 +8source(jp矿)f,,从指定的目录下读取要搜索的图片。并产 对缩小后的图片进行灰度化的处理,转为64级灰度。 生对应的“指纹”也就是说,所有像素点总共只有64种颜色。这样可以 for(inti—o;i<10;i++),,从指定的目录下读取10 大大节省存储的空间同时有效提高处理的速度。 张图片并产生对应的“指纹” {2(3图像的二值化处理 ” =hashCode (fiIename +produceFirlgerPrint 图像经过灰度化处理后要进行二值化处理。图像 example“+(i+1)+”(jpg”)I的二值化处理,关键要设定一个阀值。设丁是阀值,厂 hashCodes(add(hashCode); b)是二值化的函数,则二值化的公示如式(1): ) 1,=f ‘J’ v-』1,厂(z)?7f(1) 。 3(2缩小图片尺寸 Io,,o)<丁 — sourceBufferedImage ImageHelper(readPNGImage 二值化处理常用的有中值滤波法[2]、数学形态 (filename);,,读取文件 法[3]、图像平均法等。本文采用中值滤波法,计算所有 int width=8; 64个像素的灰度平均值作为阀值,然后将每个像素的 灰度,与平均值进行比较。大于或等 in“eight=8; 于平均值,记为 1; = thumb BufferedImage ImageHelper(thumb(source, 小于平均值,记为O。 width,height,false);,,将图片缩小到8×8的尺寸,总共 64 个像素。这一步的作用是去除图片的细节,只保留结构、明暗等 万方数据 ?15?第25卷第lO期 电脑开发与应用 (总787) 基本信息,摒弃不同尺寸、比倒带来的图片差异。 3(7显示判断结果 3(3图像灰度化 for(int i—O;i10){ for(int i=o;i=avgPixel)( System(out(println(difference); comps[i]=l; ) )else{ comps[i]一o; 4 结束语 ) 相似图片搜索是区别于传统关键字搜索的一个新 } 的搜索技术,它是当前搜索引擎的一个重要组成部分, 3(5计算哈希值 完善的相似图片搜索技术也是当前的一个研究热点。 hashCode=new StringBuffer(); StringBuffer for(int 本文从相似图片搜索的基本原理出发,利用Java实现 的i=O;i 证明 住所证明下载场所使用证明下载诊断证明下载住所证明下载爱问住所证明下载爱问 ,本模型具有简比较结果,组合在一起,就构成了一个64位的整数,这就是 这张图片的指纹。组合的次序并不重要,只要保证所有图片都 单易用、响应速度快等优点。由于本模型没有考虑很多 采用同样次序就行了。 细节,还要继续对相应的功能进行改进,这是今后要努 int result=comps[i]*(int)Math(pow(2(3)+comps 力的一个方向。 [i+1]*(int)Math(pow(2,2)+comps[i+2]*(int) 参考文献:Math(pow(2,1)+comps[i+2]; hashCode(append(binaryToHex(fesuh)); [1] 牛夏牧,焦玉华(感知哈希综述口](电子学报,2008,36 ) (7):1406一1411( 3(6计算海明距离 [2] 李会民,张仁津(基于改进BP网络的车牌字符识别方 staticint( public hammingDktance SBing 法研究[J](计算机 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 与设计,2010,3l(3):619— hashCode)(sourceHashCode,String 621( int difference=O: [3] 张立国,杨 瑾(基于小波包和数学形态学结合的图像 intlen==sourceI{ashCode(1ength(); 特征提取方法[j](仪器仪 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 学报,2010,31(10):2285? for(int i—O;i
本文档为【基于Java的相似图片搜索】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_421808
暂无简介~
格式:doc
大小:209KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-01
浏览量:33