欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    图像检索系统的设计与实现.doc

    • 资源ID:841148       资源大小:2.43MB        全文页数:39页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    图像检索系统的设计与实现.doc

    1、摘 要随着互联网的飞速发展,网络上的图片信息呈爆炸式增长,这使得人们在网上找到所需的图片越来越困难,图片检索技术成为当今非常热门的研究话题。而搜集图片和建立索引又是实现图像检索技术的非常重要的一个环节。网络爬虫程序就是用来搜集网页和图片的程序。本文的研究重点在于使用网络爬虫框架Heritrix进行扩展,从网络上下载所需网页及图片并利用HTMLParser进行网页分析和图片相关信息提取。完成上述工作后,再将图片的目录位置和提取的信息存入数据库。并建立一个图片检索系统的Web工程,实现检索功能。开发语言为Java, 开发工具为MyEclipse和MySQL及Tomcat.关键词:图像检索,网络爬虫

    2、,Heritrix, HTMLParser, 网页信息提取ABSTRACTWith the rapid development of network information on the explosive growth of images, which makes it on the Internet more and more difficult to find the images, image search technology become a very hot research topic. The collection of images and indexing for ima

    3、ge retrieval is a very important aspect. Web crawler is used to collect Web pages and pictures of the program.This study focuses on using the Heritrix Web crawler framework to extend, from the Internet and download web pages and images for web use HTMLParser information extraction and image analysis

    4、. After completion of the work, then the image directory location and the extracted information into a database. And a picture retrieval system for Web projects, to achieve search function. Development language for Java, and MySQL development tools for the MyEclipse and Tomcat.Keywords: image retrie

    5、val, web crawler, Heritrix, HTMLParser, Web information extraction目录第一章 文献综述1 1.1 图像检索的研究意义1 1.2 图像检索的国内外发展状况1 1.3 网络爬虫技术在搜索引擎中的应用3 1.4 网页分析和信息提取技术4 1.5 本文的研究重点,系统结构和内容 5 第二章 Heritrix应用开发扩展7 2.1 Heritrix简介7 2.1 Heritrix抓取策略及改进 9 2.3 Heritrix抓取过程 102.3 网页爬结果 13 第三章HTMLParser图片相关信息提取14 3.1 HTMLParser简

    6、介14 3.2 图片信息提取策略 14 3.3 图片信息提取的实现方法15 3.4 实验提取结果 17 第四章 图像检索系统的搭建18 4.1 数据库的建立 18 4.2 系统的实现框架和结构21 4.3 检索结果展示 23 第五章 总结和展望 25 参考文献 26 附录 27外文资料中文译文致谢3天津大学2007届本科生毕业设计(论文)第一章 文献综述1.1 图像检索的研究意义为了解决上述问题,定向抓取相关网页资源的网络爬虫应运而生。网络爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。 图像检索一直是信息检索领域的一个主流问题,涉

    7、及到图像处理、图像分割、模式识别及机器学习等多个方面。检索的智能化和自动化是图像检索的目标。目前主流的图像检索方法大致可以分为两大类,即基于文本的图像检索(TBIR)和基于内容的图像检索(CBIR)。在检索原理上,无论是基于文本的图像检索还是基于内容的图像检索,主要包括三方面:一方面对用户需求的分析和转化,形成可以检索索引数据库的提问;另一方面,收集和加工图像资源,提取特征,分析并进行标引,建立图像的索引数据库;最后一方面是根据相似度算法,计算用户提问与索引数据库中记录的相似度大小,提取出满足阈值的记录作为结果,按照相似度降序的方式输出。 1.2 图像检索的国内外发展状况从20世纪70年代开始

    8、,有关图像检索的研究就已开始,当时主要是基于文本的图像检索技术(Text-based Image Retrieval,简称TBIR),利用文本描述的方式描述图像的特征,如绘画作品的作者、年代、流派、尺寸等。到90年代以后,出现了对图像的内容语义,如图像的颜色、纹理、布局等进行分析和检索的图像检索技术,即基于内容的图像检索(Content-based Image Retrieval,简称CBIR)技术。基于内容的图像检索根据图像特征、图像的内容语义以及上下文联系进行查找,以图像语义特征为线索从图像数据库中检出具有相似特性的其它图像。因为图像的规模一般要大于纯粹的文本信息,因此,基于内容的图像检索

    9、在检索的速度和效率上要求更高。目前已有不少应用于实践环境的基于内容图像检索系统,如由IBM公司开 发的最早商业化QBIC系统,以及由哥伦比亚大学研发的WebSeek系统、麻省理工学院研发的Photobook系统等。基于文本和基于内容是图像检索发展的两个分支,不过从目前图像检索研究的趋势而言,尤其结合网络环境下图像的特征嵌入在具有文本内容的Web文档中,出现了三个不同的研究着眼点。立足于文本,对图像进行检索。试图将传统的文本检索技术移植于对多媒体信息的检索上,因为基于文本的检索技术发展已经成熟。如Page-Rank方法、概率方法、位置方法、摘要方法、分类或聚类方法、词性标注法等,不仅技术发展较为

    10、成熟,同时分析 和实现的难度略小。但是因为受控词汇本身的局限,易歧义,更新慢,所以不太容易应对网络上日新月异的各类图像。立足于图像内容,对图像进行分析和检索。相比而言,尽管图像检索已经出现了诸如直方图、颜色矩、颜色集等多种表征图像特征的方法,但是要突破对低层次特征的分析,实现更高语义上的检索,实现难度大,进展慢。不过,基于内容的图像检索建立在多媒体信息的内容语义上,能够更为客观地反映媒体本质的特征。结合文本和内容,进行融合性研究。发挥各自的优势促进图像的高效、简单检索方式的实现,尤其是网络环境下,结合图像所在Web文档的特征分析,推断图像的特征,同时结合对图像的内容分析,共同标引达到对图像的分

    11、析和检索。可以说,三个方向都是相互影响和促进的,任何一个方向的进展都会促进图像检索技术向前更进一步。下一代搜索技术:20072009年:具有联想技术和分析功能的搜索服务逐渐兴起。在这一时期,语义搜索还没有广泛普及, 带有分析功能的搜索服务开始崭露头角,尤其是商业智能厂商提供的面向企业的信息搜索解决方案引起人们的广泛关注。通过对博客及SNS等媒体公布的有关公司产品或宣传活动的评测进行即时分析,可以为企业的市场运营提供更多有益的参考。20102012年:语义搜索和感性搜索技术将逐渐兴起。将语义搜索用于特定领域或对象时,可以达到高度适合率和再现率,这一结论已 经得到实际验证。由于有生物学验证这一技术

    12、作基础,对于感性搜索来说,提高图像、语音、动画数据的特征提取准确度以及加快检索速度不会花很长时间。2013年以后:阶梯式搜索方法将投入使用。帮助用户追加搜索条件、询问搜索内容的阶梯型检索将被搜索服务商广泛采用。技术趋势:在互联网时代,包括文件、图像、语音、动画、视频、虚拟世界等在内的数据呈指数级增长,搜索技术显得越来越重要。以往,搜索服务都是依据输入的关键字,列出符合关键字的信息。未来,全新的搜索服务模式将出现。搜索技术的评测指标主要有两种:适合率和再现率。适合率指搜索结果中符合要求的数据比例,可以通过减少非适合数据提高这一比例。再现率指在所有应该列出的适合数据中,实际检索出的适合数据所占的比

    13、例,可以通过减少检索遗漏提高这一比例。未来,搜索技术将朝着三个方向发展:包括联想在内的语义搜索,检索图像、语音、动画内容的感性搜索,通过传感技术搜索现实世界对象的现实挖掘。2008年8 月,微软收购了一家语义搜索服务商Powerset。微软目前正式推出的新型搜索引擎Bing就整合了Powerset的语义搜索技术。CNNIC 2009年3月公布的调查报告显示,对搜索结果不满意的网友比例为35%,40%的用户会在第一次键入关键词的基础上修正关键 词,72%的用户认为搜索结果非常凌乱。用户如果想在互联网海量信息中快速、简便地寻找到自己想要的信息而不受干扰,需要搜索技术对检索者的想法进行臆 测。目前,

    14、人们看到的搜索结果都是参考文献,而不是最终的答案。这是现有搜索技术最大的问题。但是,已经有一些产品能够对垃圾信息进行最初级的人为摒除,比如百度知道。当一个人提问之后,经过一个或多个人的回答,此人就可以找到自己所需要的信息。另外,各大厂商也在致力于实现真正的人机对话。以 PowerSet和WolframAlpha为代表的问答式精准搜索近来受到广泛关注。GazoPa是一家成立于2008年的图像搜索引擎供应商。它提供的搜索图像服务的特色在于,可以提取图像中商品的形状、颜色等信息。以往的图像搜索采用的方法是,给图像数据赋予标签等文本数据,当输入的关键字与文本数据相匹配时,图像就会被检索出来。但是,用户

    15、使用GazoPa提供的服务,被搜索的图像不具备文本信息,也可能被搜索到。GazoPa使用的是基于图像内容的检索(Content-based Image Retrieval,CBIR)技术。这种技术能够对图像 的颜色、纹理、布局进行分析并检索。CBIR是基于内容检索(CBR)的一种技术。CBR中包括了对动态视频、音频等其他形式多媒体信息的检索技术。如上所述,网站将成为企业与客户沟通的重要渠道,而搜索服务的质量将成为关键因素。用户在选择服务提供商时,除了关注价格和功能指标外,或许会更加关注服务商能否长期提供本地化的服务。1.3 网络爬虫技术在搜索引擎中的应用随着网络的迅速发展,万维网成为大量信息的

    16、载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:(1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。 (2) 通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。 (3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频/视频多媒体等不同数

    17、据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。 (4) 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。 为了解决上述问题,定向抓取相关网页资源的网络爬虫应运而生。网络爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。 传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过

    18、程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。改进后的网络爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于网络爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。网络爬虫还需要解决三个主要问题: (1) 对抓取目标的描述或定义; (2) 对网页或数据的分析与过滤; (

    19、3) 对URL的搜索策略。 抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算法又是紧密相关的。 现有网络爬虫对抓取目标的描述可分为基于目标网页特征、基于目标数据模式和基于领域概念3种。基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。根据种子样本获取方式可分为: (1) 预先给定的初始抓取种子样本; (2) 预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等; (3) 通过用户行为确定的抓取目标样例。其中,网页特征可以是网页的内

    20、容特征,也可以是网页的链接结构特征,等等。 1.4 网页分析及信息提取技术网络爬虫获得的数据主要是HTML网页,里面包含了大量的格式信息和标记信息,在后续建立索引之前需要进行数据内容的抽取。这就需要用到网页分析及信息提取技术。互联网上有数以亿计的网页,网页的基本元素就是HTML语言文件。从结构上讲,HTML文件由元素组成。组成HTML文件的元素有多种,他们用于组织文件的内容和控制文件的输出格式。绝大多数元素是以一个其实标记开始,一个结尾标记结束,其实标记和结尾标记之间的部分是元素体。每一个元素都有名称和一些可选的属性,这些都在起始标记内标明。HTML文件经过浏览器解析后,转换成可视化的Web页

    21、面。搜索引擎通过网络爬虫获取这些HTML文件后,通过程序分析其中的内容,就可以构造搜索了。在实际项目中,最常用的就是用正则表达式或HTMLParser来提取额网页的内容。使用HTMLParser从复杂的HTML页面中解析出来需要的文本信息,是其中很重要的内容。(1)正则表达式:正则表达实施功能强大的文本分析工具,在不同语言中都得到了体现。正则表达式是一种用来描述字符串集合的方法,通常使用一系列特殊字符形成字符串模版。正则表达式通过自定义的正则模式去精确的提取文本信息,但需要写大量的正则表达式,编写和调试正则表达式是一个繁琐的过程。(2)HTMLParser:HTML是一个开源的Java库,提供

    22、借口、支持线性和嵌套的解析HTML文本。HTML提供了提取文本信息的API,是搜索引擎开发者拜托了繁琐的正则匹配过程,只需要通过这些API,就可以方便的提取额特定文本,打打提高工作效率。1.5 本文的研究重点,系统结构及内容本文要实现一个BS架构的图像检索系统,主要实现该检索系统的网络爬虫及网页信息提取部分,并建立一个简单的Web系统,整合下载的网页,图片及网页分析得到的文本信息形成一个图像检索系统。综合运用java语言,图像检索,网络爬虫,网页分析及Web开发等相关技术。系统结构:图1-1 图像检索系统结构图本文共分为五章,其内容是这样安排的:第一章 ,文献综述:介绍图像检索的意义,国内外发

    23、展状况,以及简要介绍相关的网络爬虫级网页分析技术。第二章 ,Heritrix应用开发扩展:简要介绍Heritrix,以及本文何扩展Hertrix的方法,网页爬取的效果总结。第三章 ,HTMLParser应用开发:简要介绍HTMLParser,以及利用HTMLparser实现网页内容提取的具体策略方法,及结果展示。第四章 ,图像检索系统的搭建:如何建立图片信息数据库,Web页面,Action及图片检索系统的实现和结果展示。第五章 ,未来和展望:图像检索是非常热门的一个研究话题。本章就图像检索的发展及本文待改进的地方做一个展望。第二章 Heritrix应用开发扩展2.1 Heritrix简介开源网

    24、络爬虫Heritrix是有互联网档案馆和北欧国家图书馆联合规范化编写于2003年初。第一次正式发布实在2004年1月。并不断的被互联网档案馆和其他感兴趣的第三方改进。Heritrix是一个有JAVA开发的web网络爬虫,用户可以使用它从网络上抓取自己想要的资源。Heritrix最大的特色在于它的可扩展性,开发者可以扩展它的各个组件,实现自己的专区逻辑。Heritrix 的工作是不断循环的,具体流程是:(1) 在线程池中,选择一个预定的URL中(2) 从选择的URL网址下载远程文件(3) 分析,归档下载到的内容,写入磁盘镜像目录(4) 从分析到的内容里面根据策略选择URL,加入预定队列(5) 标

    25、记已经处理过的URL(6) 从第一步继续进行,直到所有的URL处理结束,抓去工作结束Heritrix的操作模型:图2-1 Heritrix的模型操作图Heritrix结构分析:图2-2 Heritrix的组件结构图各个组件的作用:(1) CrawlControllerCrawlController(中央控制器)是抓取任务的核心组件,他控制着整个抓取的流程 (2)CrawlOrderCrawlOrder(抓取任务)是整个抓取工作的起点,它记录了任务的所有属性。即在创建任务是的一系列设置(3) FrontierFrontier(连接制造工厂)负责所有连接的处理,将已经爬过的URL做标记,并将未处理

    26、的连接放入等待队列(4) ToeThreadToeThread(处理线程)Heritrix使多线程的,每个UTL被一个线程处理,这个现成就叫做ToeThread,每个县城都会包括一条处理连。(5) ProcessorProcessor(处理器)代表着单个的处理器,所有的处理器都是他的子类2.2 Heritrix抓取策略及改进Heritrix是使用 Berkeley DB来构建一个链接队列。这些队列被置放于BdbMultipleWorkQueues中时,总是先给予一个Key,然后将那些Key值相同的链接放在一起,成为一个队列,也就是一个Queue.但是,这个Key值到底该如何计算呢?事实上,这里

    27、说的Key值,应该是作为一种标识符的形式存在。也就是说,他要与URL之间有一种内在的联系。在Heritrix中,为每个队列赋上值的策略,也就是它的queue-assignment-policy。在默认的情况下,Heritrix使用的HostnameQueueAssignmentPolict来解决Key值生成的问题。这种策略其实是以链接的Host名称为Key值来解决这个问题的。也就是说,相同Host名称的所有RL都会被放置于同一个队列中间。这种方式在很大程度上可以解决广域网中信息抓取是队列的键值问题。但是,他对于摸某个单独网站的网页抓取,就出现了很大的问题。以Sina的新闻网页为列,其中大部分的

    28、URL都来自于Sina网站的内部。因此,如果使用了HostnameQueueAssignmentPolicy,则会造成有一个队列的长度非常长的情况,在Heritrix中,一个现成从一个队列中取URL链接时,总是会先从队列的头部取出第一个链接,在这之后,这个被取出链接的队列会进入阻塞状态,知道待该链接处理完,它才会从阻塞状态中恢复。键入使用HostnameQueueAssignmentPolicy策略来应对抓取一个网站中内容的情况,很有可能造成仅有一个线程在工作,而其他所有线程都在等待。这是因为那个装有绝大多数URL连接的队列几乎会永远处于阻塞状态。因此,别的线程根本获取不到其中的URL,在这种

    29、情况下,抓取工作会永远处于阻塞 状态。因此,需要改变queue-assignment-policy来避免发生这种情况。改进策略:从上面的分析中可以知道,这个Keu值最重要的一点就是应该能够有效的将所有的URL散列到不同的队列中,最终能使所有的队列的长度的方差较小,在这种情况下,才能保证工作线程的最大效率。任何扩展queue-assignment-policy的默认实现的类,均继承自QueueAAssignmentPolicy并覆写了其中的getClassKey()方法,getClassKey方法的参数为一个链接对象,而我们的散列算法,正是要根据这个链接对象来返回一个值。比如字符串的长度等,UR

    30、L散列算法,最为出名的是ELFHash算法,ELFHash函数是对自负串的散列。它对长字符串和短字符串都很有效,字符串中每个字符都有同样的作用。它巧妙的对字符的ASCII编码值进行计算,ELFHash函数对于能够比较均匀地把字符串分布在散列表中。这里给出MyQueueAssignmentPolicy类,他通过ELFHash算法实现Key值分配。public String getClassKey(CrawlController controller,CandidateURI cauri)String uri = cauri.getUURI().toString();long hash = ELF

    31、Hash(uri);String a= Long.toString(hash%100);return a;public long ELFHash(String str)long hash = 0;long x = 0;for(int i=0; istr.length();i+)hash = (hash24);hash &= x; 2.3 Heritrix抓取过程在浏览器中输入 http:/localhost:8080,输入之前设置的用户名 / 密码:admin/admin,进入到 Heritrix 的管理界面,如图 2-3所示。因为我们还没有创建抓取任务,所以 Jobs 显示为 0。图2-3

    32、Heritrix登录后的UI界面点击“jobs”,创建抓取任务图2-4 Heritrix的创建任务,提供种子图首先点击“Modules”按钮,在相应的页面为此次任务设置各个处理模块,一共有七项可配置的内容,这里我们只设置 Crawl Scope 和 Writers 两项,下面简要介绍各项的意义。1)Select Crawl Scope:Crawl Scope 用于配置当前应该在什么范围内抓取网页链接。例如选择 BroadScope 则表示当前的抓取范围不受限制,选择 HostScope 则表示抓取的范围在当前的 Host 范围内。在这里我们选择 org.archive.crawler.scop

    33、e.BroadScope,并单击右边的 Change 按钮保存设置状态。2)Select URI Frontier:Frontier 是一个 URL 的处理器,它决定下一个被处理的 URL 是什么。同时,它还会将经由处理器链解析出来的 URL 加入到等待处理的队列中去。这里我们使用默认值。3)Select Pre Processors:这个队列的处理器是用来对抓取时的一些先决条件进行判断。比如判断 robot.txt 信息等,它是整个处理器链的入口。这里我们使用默认值。4)Select Fetchers:这个参数用于解析网络传输协议,比如解析 DNS、HTTP 或 FTP 等。这里我们使用默认

    34、值。5)Select Extractors:主要是用于解析当前服务器返回的内容,取出页面中的 URL,等待下次继续抓取。这里我们使用默认值。6)Select Writers:它主要用于设定将所抓取到的信息以何种形式写入磁盘。一种是采用压缩的方式(Arc),还有一种是镜像方式(Mirror)。这里我们选择简单直观的镜像方式:org.archive.crawler.writer.MirrorWriterProcessor。7)Select Post Processors:这个参数主要用于抓取解析过程结束后的扫尾工作,比如将 Extrator 解析出来的 URL 有条件地加入到待处理的队列中去。这里

    35、我们使用默认值。抓取过程中进度:图2-5 Heritrix抓取进度图2.4 网页爬取结果在 MyHeritrix 工程目录下自动生成“jobs”文件夹,包含本次抓取任务。抓取下来网页以镜像方式存放,也就是将 URL 地址按“/”进行切分,进而按切分出来的层次存储。任务完成后的镜像目录如图所示:图2-6 任务完成的的镜像目录各个文件夹下存储的主要内容为HTML文档及各类格式的图片第三章 HTMLParser图片相关信息提取3.1 HTMLParser简介htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。它能超高速解析html,

    36、而且不会出错。现在htmlparser最新版本为2.0。htmlparser就是目前最好的html解析和分析的工具。 htmlparser基本功能1 信息提取 文本信息抽取,例如对HTML进行有效信息搜索 链接提取,用于自动给页面的链接文本加上链接的标签 资源提取,例如对一些图片、声音的资源的处理 链接检查,用于检查HTML中的链接是否有效 页面内容的监控 2 信息转换 链接重写,用于修改页面中的所有超链接 网页内容拷贝,用于将网页内容保存到本地 内容检验,可以用来过滤网页上一些令人不愉快的字词 HTML信息清洗,把本来乱七八糟的HTML信息格式化 转成XML格式数据3.2 信息提取额策略信息

    37、来源:通过分析HTML文档找到图片和相关的文字提取方法:不能确知网页作者组织信息的方法,将最可能与某图片相关的位置的文字作为图片的文字描述信息常用提取模式:1 标记从src获取图片来源从alt,title获取相关文字信息获得width和height,用于以后的过滤2 网页的标题图片与所在网页相关,因此和网页的标题相关提取下的文字。有时下还会嵌套标记,需要去除。有时使用缺省的名字(如new page或者Untitled Document),需要过滤3 网页的meta标记也是对网页内容的描述可以提取其中的keywords和description的值无用图片过滤:1文件尺寸比较小(包括长宽和大小)利

    38、用HTML提取到的width和height,以及实际图片的width和height2长宽比例较大3同一网页内有多个引用它重要的图片不会在一页内出现多次出现多次的通常是装饰图片4 GIF和JPG图片的区别GIF只有256色,但可动态,通常用于装饰性图片和广告JPG压缩比高,常用于存储大尺寸文件通常情况下,JPG图片有意义的比例要大大高于GIF3.3 图片信息提取方法的实现在第2章中我们抓取了大量的网页及图片。本章要从之前抓取的网页中找出所需的图片相关信息。1.首先创建Extractor类,定义文件的输入,输出路径等成员变量及其构造方法,并定义图片拷贝函数boolean copyImage(),返

    39、回一个布尔量,通过对从HTML解析出的图片URL可在mirror目录下对应位置找到相应的图片,且图片大小足够大(为有效图片)则为True,如果在mirror目录下对应位置图片没有找到或找到了图片但图片不符合要求(图片太小等)则为False2 继承Extractor类,并添加3个主要函数:(1) void getNetInfo()获取网页中的文本信息获取含description元素的标签下的文本信息获取含keywords元素的标签下的文本信息NodeFilter title_filter=new TagNameFilter(title);NodeFilter keyword_filter=new

    40、 AndFilter(new TagNameFilter(meta),new OrFilter(new HasAttributeFilter(name,Keywords),new HasAttributeFilter(name,keywords);NodeFilter description_filter=new AndFilter(new TagNameFilter(meta),new OrFilter(new HasAttributeFilter(name,Description),new HasAttributeFilter(name,description);title = getPr

    41、op(title*(.*)*,this.getParser().parse(title_filter).elementAt(0).toHtml(),1);先是通过TagNameFilter获得标签名为title的标签节点,然后调用getProp函数匹配一个正则表达式获得title中的文本信息。主要通过AndFilter来获取标签名为meta且含description元素的标签节点(这里用了一个OrFilter来匹配description或Description)。同理可获得标签名为meta且含keywords元素的标签节点,然后调用getProp函数匹配相应的正则表达式获得其相应文本。(2)v

    42、oid getImgTag(NodeFilter img_filter)获取标签中src元素内容获取标签中alt元素内容获取标签中title元素内容获取标签中width元素内容获取标签中height元素内容String image_src=getProp(img* src=(*)*,image_nodes.elementAt(i).toHtml(),1);调用copyImage(imge_src,new_image_file),如果返回True将得到的标签中的sec.alt,title,width,height以及网页标签中的内容,及标签description和keywords的内容写入输出文

    43、件中。(3) void getImgInfo()获取图片周围信息,遍历需寻找含该标签的第一个父节点获取该节点内的文本信息3.4 图片解析提取结果将所有有效图片的title,keywords,url等相关信息全部以.txt文档的形式存储到指定目录下,如图所示:图3-1 解析的的.txt文档第四章 图像检索系统的搭建4.1 数据库的建立本文采用MySQL建立数据库,并应用Hibernate技术管理Java类到数据库表的映射(包括Java数据类型到SQL数据类型的映射)MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,S

    44、UN又被Oracle收购。对于Mysql的前途,没有任何人抱乐观的态度。目前 MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网 站总体拥有成本而选择了MySQL作为网站数据库。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernat

    45、e可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hebernate是轻量级JavaEE应用的持久层解决方案,可以大幅度缩短使用JDBC处理数据持久化的时间。目前的主流数据库依然是关系数据库,而Java语言则是面向对象的编程语言,当把二者结合在一起使用是相当麻烦,而Hibernate则减少了这个问题的困扰,他完成对象模型和基于SQL的关系模型的影射关系。ORM的全程是Obiger/Relation Mapping,对象/关系数据库映射。ORM可理解成一种规范,他概述了这类框架的基本特征:完成面向对象的编程语言到关系数据库的映射。当ORM框架完成映射后,即可利用面向对象程序设计语言的简单易用性,又可利用关系数据库的技术优势。因此,我们可把ORM框架当成应用程序和数据库的桥


    注意事项

    本文(图像检索系统的设计与实现.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922