用Java实现分布式基于内容的Web图像检索系统
- 格式:pdf
- 大小:180.82 KB
- 文档页数:4
本科生毕业设计(论文)开题报告摘要随着互联网的飞速发展,网络上的图片信息呈爆炸式增长,这使得人们在网上找到所需的图片越来越困难,图片检索技术成为当今非常热门的研究话题。
而搜集图片和建立索引又是实现图像检索技术的非常重要的一个环节。
网络爬虫程序就是用来搜集网页和图片的程序。
本文的研究重点在于使用网络爬虫框架Heritrix进行扩展,从网络上下载所需网页及图片并利用HTMLParser进行网页分析和图片相关信息提取。
完成上述工作后,再将图片的目录位置和提取的信息存入数据库。
并建立一个图片检索系统的Web工程,实现检索功能。
开发语言为Java, 开发工具为MyEclipse和MySQL及Tomcat.关键词:图像检索,网络爬虫,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 image 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. 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 retrieval, 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抓取过程 (10)2.3 网页爬结果 (13)第三章HTMLParser图片相关信息提取 (14)3.1 HTMLParser简介 (14)3.2 图片信息提取策略 (14)3.3 图片信息提取的实现方法 (15)3.4 实验提取结果 (17)第四章图像检索系统的搭建 (18)4.1 数据库的建立 (18)4.2 系统的实现框架和结构 (21)4.3 检索结果展示 (23)第五章总结和展望 (25)参考文献 (26)附录 (27)外文资料中文译文致谢第一章文献综述1.1 图像检索的研究意义为了解决上述问题,定向抓取相关网页资源的网络爬虫应运而生。
基于Java技术的数字图像处理系统的开发数字图像处理技术是一种将数字信号处理技术、图像采集技术、计算机软件技术、数学方法等多种技术综合应用起来,对图像进行处理、分析、识别等处理过程的技术。
这种技术不仅在生产和科研中有着广泛的应用,还是信息时代的重要基础技术之一。
本文将介绍一个基于Java技术的数字图像处理系统的开发。
一、需求分析1. 图像读取和显示功能:能够读取常见的图像文件格式,如bmp、jpg等,并将读取到的图像显示在界面上。
2. 图像处理功能:包括图像增强、滤波、分割、二值化、形态学处理等功能。
3. 图像特征提取和识别功能:可提取图像的纹理、形状、颜色等特征,并进行模式识别。
4. 人机交互功能:图像处理过程全部可视化,通过鼠标操作完成。
二、系统设计1. 总体设计基于Java技术的数字图像处理系统采用Model-View-Controller(MVC)框架进行设计,其中:Model层:实现具体的图像处理算法和数据结构。
View层:实现图像的显示和交互,即调用Model层的算法并在界面上显示结果。
Controller层:实现界面和Model层之间的交互,负责将用户输入的数据传递给Model层,并将Model层的结果显示在界面上。
2. 模块设计(1)图像读取和显示模块该模块负责读取指定的图像文件,并将其显示在界面上。
图像文件可以是bmp、jpg等格式。
在该模块中,通过Java图像处理库中的ImageIO类进行图像的读取。
(2)图像处理模块该模块包括图像增强、滤波、分割、二值化、形态学处理等功能。
其中,图像增强和滤波算法包括直方图均衡化、均值滤波、中值滤波等,图像分割算法包括阈值分割、聚类分割等,二值化算法包括Otsu阈值法、KMeans聚类法等,形态学处理包括膨胀、腐蚀、开关操作等。
(3)特征提取和识别模块三、具体实现在View层中,通过调用ImageIO类的read方法读取指定的图像文件,并将其存储在BufferedImage类型的对象中。
基于Java技术的数字图像处理系统的开发随着数字图像处理技术的不断发展,其在各个领域的应用越来越广泛。
比如在医学影像诊断、工业质检、地理信息系统等领域都有着重要的应用价值。
而基于Java技术的数字图像处理系统正是为了满足这一需求而应运而生的。
本文将重点介绍基于Java技术的数字图像处理系统的开发过程和关键技术。
一、需求分析在开发数字图像处理系统之前,首先需要进行需求分析。
针对不同领域的需求,数字图像处理系统的功能也会有所不同。
比如在医学影像诊断中,需要对图像进行分割、特征提取、分类等操作;而在工业质检领域,则需要进行缺陷检测、尺寸测量等操作。
在进行开发之前,需要充分了解用户的需求,确定系统的功能模块和性能指标。
二、系统架构设计三、图像处理算法实现四、性能优化由于数字图像处理系统在处理大规模图像数据时,往往需要耗费大量的计算资源和时间。
在开发数字图像处理系统时,需要重点考虑系统的性能优化。
可以采用多线程、并行计算等技术来提升系统的处理速度;可以采用缓存、压缩等技术来优化系统的内存占用;还可以采用分布式计算、GPU加速等技术来提升系统的整体性能。
五、系统集成与测试在系统开发完成后,需要进行系统集成和测试。
在集成阶段,需要将前端界面、业务逻辑层和数据存储层进行整合,并进行功能测试和性能测试。
在测试阶段,需要对系统进行各种场景的测试,包括正常操作、异常操作等。
只有通过了系统集成和测试阶段后,系统才能正式投入使用。
六、安全性考虑在数字图像处理系统的开发过程中,安全性也是一个非常重要的问题。
在系统设计和开发的过程中,需要重点考虑系统的安全性,防止系统受到恶意攻击和数据泄露等问题。
可以采用加密、鉴权、权限控制等技术来提升系统的安全性。
基于Java技术的数字图像处理系统的开发涉及到需求分析、系统架构设计、图像处理算法实现、性能优化、系统集成与测试、安全性考虑等多个方面。
只有在这些方面都得到充分考虑和实施后,才能开发出满足用户需求的数字图像处理系统。
基于Java技术的数字图像处理系统的开发随着数字图像处理技术的不断发展,它在各个领域中的应用已经变得越来越广泛。
由于其在图像处理、医学影像、安全监控、虚拟现实等方面的广泛应用和重要性,数字图像处理技术越来越受到人们的关注。
在这些领域中,基于Java技术的数字图像处理系统已经成为必不可少的工具。
在本文中,我们将讨论基于Java技术的数字图像处理系统的开发。
一、Java技术在数字图像处理中的应用Java是一种通用的、面向对象的计算机编程语言,它是一种并发、基于类和基于对象的语言,设计目标是让应用程序能够编写一次,随后可以在任何地方运行。
由于Java语言的跨平台特性,它在数字图像处理领域中的应用非常广泛。
Java技术可以用于数字图像的输入输出、图像的变换、滤波、分割、特征提取、匹配等。
在数字图像处理系统中,Java技术具有高效、灵活、易用等特点,因此在数字图像处理领域得到了广泛的应用。
1. 系统需求分析在开发基于Java技术的数字图像处理系统之前,需要对系统的需求进行分析。
首先需要明确系统的功能要求,例如图像的输入输出、图像处理算法的实现、用户交互界面等。
其次需要考虑系统的性能要求,例如系统的运行速度、稳定性、扩展性等。
最后需要考虑系统的运行环境,例如系统需要支持哪些操作系统平台,需要考虑用户的使用习惯和需求等。
通过需求分析可以明确系统的功能和性能要求,为系统的设计和开发奠定基础。
2. 系统设计在系统需求分析的基础上,进行系统的设计工作。
系统设计是将系统的需求转化为软件的架构和模块的设计。
在基于Java技术的数字图像处理系统的设计中,需要考虑系统的分层结构、模块的划分、模块之间的接口设计等。
在系统设计中,需要考虑系统的易用性、稳定性、可扩展性等方面的设计。
3. 系统实现在系统设计完成之后,进行系统的实现工作。
在基于Java技术的数字图像处理系统的实现中,首先需要完成图像的输入输出模块的实现,以便系统能够从外部获取图像并对图像进行处理。
基于Java技术的数字图像处理系统的开发数字图像处理是现代计算机科学领域中一个非常重要的研究方向,它涉及到数字图像的获取、存储、处理和应用等多个方面。
而基于Java技术的数字图像处理系统的开发,则是针对数字图像处理任务的一个软件系统开发过程,它可以提供图像的处理、分析、显示和输出等操作功能。
Java是一种跨平台编程语言,因此基于它实现数字图像处理系统具有很高的灵活性和可移植性,可以在各种操作系统和硬件平台上运行。
在这篇文章中,我们将介绍基于Java 技术的数字图像处理系统的开发过程和技术栈。
技术栈1. Java语言基础:Java语言基础是开发数字图像处理系统的基础,包括面向对象编程、基本语法、数据类型、控制流程、异常处理等。
2. 图像处理算法:熟练掌握各种图像处理算法,如图像增强、滤波、边缘检测、二值化、形态学操作等。
3. 图像存储与读取:掌握图像文件格式,如BMP、JPEG、PNG等,并能实现图像的读取、存储、解码等操作。
4. GUI设计:通过Swing或JavaFX等图形用户界面工具包实现可视化交互界面。
5. 多线程编程:为了提高图像处理的效率,可以利用多线程技术实现并行处理。
6. 数据库使用:存储和管理大量的图像数据。
MySQL是一个很好的选择。
开发过程1. 确定需求:首先需要明确开发的数字图像处理系统应该具有哪些功能和特点,如图像处理的精度、速度、易用性等。
2. 界面设计:确定GUI设计,确定需要的组件和样式,预先设计好中间的交互流程和图像展示方式,可以绘制草图和界面元素。
3. 系统架构设计:确定系统的结构,这包括服务器、客户端、数据库、算法库等部分。
同时确定API和UI的参数和协议规范。
4. 需求和技术储备:根据系统架构和设计方案,需求和技术储备决定产品的价值和竞争力。
这时需要仔细检查是否有重要的技术细节漏掉。
5. 开发与测试:根据需求和设计开发系统,在开发的时候需要测试系统的各项功能是否符合要求,同时调整系统的细节和bugs。
基于Java技术的数字图像处理系统的开发1. 引言1.1 研究背景数字图像处理技术是近年来信息技术领域中备受关注的一个重要方向。
随着数字摄影技术的普及和电子设备的智能化,数字图像的获取和处理已经成为人们日常生活和工作中不可或缺的一部分。
传统的数字图像处理主要依靠人工操作,但随着人工智能和计算机算法的不断发展,利用计算机技术对数字图像进行自动化处理变得越来越重要。
本研究旨在利用Java技术开发一套高效、准确的数字图像处理系统,旨在提高数字图像处理的自动化水平,为用户提供更加智能和便捷的图像处理服务。
这将对数字图像处理技术的发展和应用具有重要的意义,并有望在医学影像、安防监控、工业检测等领域取得广泛的应用。
1.2 研究目的数字图像处理技术在今天的数字化社会中扮演着越来越重要的角色,它广泛应用于医学影像诊断、安全监控、图像识别等领域。
传统的数字图像处理系统通常存在效率低、功能单一等问题。
我们有必要开发一套基于Java技术的数字图像处理系统,以满足用户的需求。
本研究的目的是通过基于Java技术的数字图像处理系统的开发,提高数字图像处理的效率和精度。
具体来说,我们的研究目的包括:优化数字图像处理算法,提高图像处理速度;开发一套功能丰富、易用的数字图像处理系统,方便用户进行图像处理操作;探索数字图像处理系统的可拓展性,实现更多的应用场景;验证基于Java技术的数字图像处理系统在实际应用中的可行性和效果。
通过本研究,我们希望能够为数字图像处理技术的发展和推广做出一定的贡献,同时也为其他领域的软件开发和应用提供一定的借鉴和参考。
1.3 研究意义数字图像处理技术是信息技术领域中一个重要的研究方向,它在医学影像诊断、安防监控、智能交通等领域有着广泛的应用。
随着数字化技术的不断发展,数字图像处理技术在各个领域的应用越来越广泛,对社会和经济发展起着至关重要的作用。
本文将基于Java技术开发一款数字图像处理系统,旨在探索数字图像处理技术在实际应用中的潜力和优势。
基于Java EE的分布式系统设计与实现Java EE,即Java Enterprise Edition,是一种基于Java语言的企业级应用程序开发平台。
Java EE提供了许多企业级应用程序必需的服务和API,包括Web服务、消息传递、JDBC、RMI等,以支持分布式系统开发。
分布式系统是由多个独立的计算机组成的,通过网络互相连接,达到共享资源、协同工作的目标。
在大型企业和互联网应用中,分布式系统广泛应用于负载均衡、高可用性、可扩展性等方面。
基于Java EE的分布式系统设计与实现需要考虑以下几个方面:1. 服务端架构设计服务端架构主要包括业务逻辑层、数据访问层和资源管理层三部分。
业务逻辑层负责处理业务逻辑,数据访问层负责与数据库交互,资源管理层负责管理系统资源。
这三部分可以分别部署于不同的物理机器或虚拟机上。
在Java EE中,EJB(Enterprise Java Bean)是一种常用的分布式系统开发框架,它提供了分布式事务、远程调用、消息传递等功能,可以方便地在分布式环境下开发应用程序。
2. 网络通信协议选择在分布式系统中,不同计算机间需要进行通信,因此需要考虑通信协议的选择。
Java EE提供的RMI(远程方法调用)协议可以实现Java对象之间的远程调用,但是RMI性能不够高效,不适用于高负载的分布式系统。
常用的替代协议包括HTTP、TCP/IP、RESTful等。
其中,RESTful是一种面向Web服务的协议,具有高可伸缩性、松耦合等特点,适用于大型分布式系统。
3. 数据库和缓存管理在分布式系统中,多个节点需要访问同一数据库,因此需要考虑数据库性能和数据一致性。
常见的MySQL和Oracle数据库都支持分布式部署,可以通过主从复制和集群部署实现高可用性和负载均衡。
此外,缓存管理也是分布式系统开发中需要关注的问题。
常用的缓存技术包括Redis、Memcached等,它们都支持分布式架构,可以提升系统读写性能和响应速度。
基于分布式技术的 Web 服务系统的研究与实现随着互联网技术的飞速发展,Web应用和Web服务也愈加成为人们日常生活的重要组成部分。
Web服务可以将资源和功能以服务的形式提供给用户,而无需关注底层技术实现,从而使得企业和用户可以更加高效地进行信息交换和合作。
而基于分布式技术的Web服务系统,则可以更好地实现负载均衡、高可用性、分布式数据存储和处理等关键功能,从而为用户带来更好的服务体验。
本文主要对基于分布式技术的Web服务系统的研究与实现做一些探讨。
一、分布式系统的基础理论分布式系统是指由多个计算机节点和通信媒介组成的运行时环境,这些节点通过互联网或局域网相互通信与协调。
在分布式系统中,每个节点都可以独立地运行和维护自己的资源,同时也可以与其他节点协同工作,以完成特定的任务。
分布式系统展现了分布式计算、分布式存储、分布式处理等技术的重要进展。
分布式系统包含了十分广泛的技术领域,如硬件、网络、操作系统、数据库和应用程序等。
分布式系统的基本概念包括节点、连接、通信、同步、协调和安全等。
二、基于分布式技术的Web服务系统的设计原则Web服务系统作为一个分布式系统,需要遵循一些基本的设计原则,才能保证其安全、高效、稳定、可扩展和易于维护等特性。
这里列举几个比较关键的设计原则:1、松耦合:Web服务系统的各个组件之间需要保持松耦合的状态,即它们之间不应该直接依赖于彼此的实现细节,而应该尽可能地将自己的实现细节隐藏起来,只提供基本的接口和协议,以便实现跨越不同编程语言和不同平台的交互。
2、独立分布:Web服务系统的各个节点应该相互独立,每个节点都应该具有相同或相似的能力和功能,从而可以缓解负载压力并提高系统的可用性和可扩展性。
3、数据分离:数据的分离和存储是Web服务系统的一个重要设计原则。
数据的分离可以帮助节点解耦和,提高数据访问的速度和效率,并降低数据丢失和损坏的风险。
三、基于分布式技术的Web服务系统的实现基于分布式技术的Web服务系统的实现需要一定的技术架构与方法。
基于Java技术的数字图像处理系统的开发数字图像处理系统是一种应用广泛的技术,它可以对数字图像进行各种处理与分析。
随着计算机技术的不断发展,数字图像处理系统在医学影像、遥感、工业检测等领域得到了广泛应用。
基于Java技术的数字图像处理系统的开发,能够为用户提供高效、稳定、易用的图像处理功能,满足用户在不同领域中的需求。
本文将对基于Java技术的数字图像处理系统的开发进行探讨。
1. 跨平台性:Java可以在多种不同的操作系统上运行,这意味着基于Java技术的数字图像处理系统可在Windows、Linux、macOS等多种操作系统上运行,使得用户可以更加灵活地选择合适的硬件环境。
3. 良好的性能:随着Java技术的不断发展,Java在性能方面也有了明显的提升,特别是在多线程处理、内存管理等方面,Java能够更好地满足数字图像处理系统对于高性能的需求。
基于Java技术的数字图像处理系统应当具备以下核心功能:1. 图像读取与显示:系统能够对不同格式的图像进行读取与显示,如JPEG、PNG、BMP等格式的图像。
2. 图像处理与分析:系统能够对图像进行各种处理与分析,如滤波、增强、分割、特征提取等。
3. 图像存储与导出:系统能够将处理后的图像进行存储与导出,以便用户进行后续的应用或分析。
4. 用户交互界面:系统需要提供友好的用户交互界面,以便用户更加方便地进行图像处理操作。
5. 扩展性与灵活性:系统应该具备一定的扩展性与灵活性,能够方便地进行功能扩展与定制化。
基于Java技术的数字图像处理系统的开发流程大致可以分为需求分析、系统设计、编码实现、测试与优化、部署与维护五个阶段。
1. 需求分析:开发团队需要与用户充分沟通,了解用户对于数字图像处理系统的需求与期望,明确系统的功能、性能、用户体验等方面的要求。
2. 系统设计:根据需求分析的结果,开发团队进行系统设计,包括系统的架构设计、模块划分、接口设计等,以及选择合适的类库与工具。
第4卷第1期 南京师范大学学报(工程技术版) Vo1.4 No.1 2004年 JOURNAL OF NANJING NORMAL UNIVERSITY(ENGINEERING AND TECHNOLOGY) 2004
用Java实现分布式基于内容的Web图像检索系统 方昭辉,陈冬霞 (南京师范大学数学 汁算机科学学院,210097,南京) [摘要] 给出了一个分布式基于内容的Web图像检索系统的模型,并给出』,用Java技术实现的方案.介绍了系统的体系结构 和各功能模块,以及使用的JSP、Servlet、JavaBean、JDBC等Java技术. [关键词] 基于内容的图像检索,分布式,Web,Ja [中图分类号]TP391,[文献标识码]B,[文章编号]1672—1292一(20o4)Ol一0060一o4
0引言 随着Intemet和多媒体技术的快速发展,Web 上出现了越来越多的图像.传统的基于文本的搜索 引擎,无法满足人们快速准确检索图像信息的需 求.因此,基于内容的图像检索,Content—Based Im— age Retrieval(CBIR)已成为研究热点.CBIR是综合 数字图像处理、信息检索和数据库等多方面知识, 实现对图像进行查询和管理的综合性技术.CBIR 从图像中抽取颜色、形状和纹理等特征作为图像索 引,保存在数据库中.用户进行查询时,只需给出查 询图例或特征描述,系统利用图像特征的距离度量 相似性,从数据库中检索相似的图像. 自上世纪9o年代以来,国内外对基于内容的 检索进行了大量研究,也开发了一些实验或商业系 统.比如,IBM的QBIC系统,美国哥伦比亚大学研 究的图像/视频检索系统visualSeek,Virage公司开 发的Virage系统.但这些系统主要针对特定的数据 库,基于算法的研究和实现,缺乏对用于Web上的 分布式CBIR系统的研究. 随着Web的迅速发展,独立的集中式搜索引 擎在数据容量、计算能力等方面都将感到不足.它 们彼此之间没有协作,造成了重复工作和带宽浪 费,已不能适应现代信息检索的需要.本文提出了 个分布式基于内容的web图像检索系统,并给 出了用Java技术实现的方案. 1分布式、veb图像检索系统的模型 Web图像检索(R,Q,Ij})一C,是指从Web上 的全体信息集合尺中找到与给定的查询图例Q相 似的、数目为k的图像集C.分布式搜索引擎通常 根据地域、主题、IP地址等标准将因特网划分成若 干自治区域,即对R进行划分得到集合S={S., …S},其中S。 R,S ≠ (i:1凡),且0 S 尺.本系统根据地域对Web信息空间进行划分: 尺一{(.cn),…,(.Ca)}.对每个Web信息子空间 s ,建立一个基于内容的图像检索子系统IRS。 (Image Retrieval Sub—System).各IRS相互协作,构 成分布式Web图像检索系统DIRS(Distributed Web Image Retrieval System),图1为DIRS的模型. 图1 分布式w曲图像检索系统模型 DIRS中的信息中介服务器(BROKER),负责维 护所有IRS的注册信息,协调各IRS进行分布式协 作检索.注册信息包括各IRS的地理区域、IP地址、 负责搜索的URL列表和目前的工作状态等数据. 用户进行图像检索时,首先向本地的IRS提出检索 请求.如不满查询结果,需要进行分布协作查询时, 根据需要选择合适的远程IRS,由本地IRS作为全 局服务器,组织查询.分布式检索系统扩大了检索 覆盖度;各IRS管理的Web信息量相应减小,降低
收稿日期:2003—09—03. 作者简介:方昭辉,1978一,硕士研究生,主要从事多媒体及基于内容检索的学习和研究.E.mail:cchashui@sina.120111 通讯联系人:张明,1957一,南京师范大学数学与计算机科学学院教授,硕士生导师,主要从事多媒体信息处理,人工智能,人机交互等领 域的研究. 60—
维普资讯 http://www.cqvip.com 方昭辉,等:用Java实现分布式基于内容的Web图像检索系统 了消耗;个别IRS出现故障,也不影响其他IRS工 作;从而有效地提高了系统的功能和效率. 2检索子系统Ⅱ 的模型及实现 2.1系统模型 检索子系统IRS采用B/S(浏览器/服务器)三 层结构,即用户界面表示层、逻辑处理层、数据存储 层.图2显示了IllS的体系结构.
图2检索子系统HIS的体系结构 客户端是基于浏览器的,用户界面都是HTML 网页.逻辑处理层(中间层)分别采用Apache和 Tomcat作为I-IITP服务器和应用服务器;其中Serv。 let负责处理I-IITP请求,完成处理流程的控制;通 过JDBC访问数据库;数据库访问、特征提取和匹 配等逻辑运算都封装为JavaBean;JSP负责将查询 结果用动态网页显示.这样的结构更加清晰,实现 了业务逻辑和内容显示的分离,方便了编程人员的 开发和维护.各种基于Java的技术,都具有良好的 可移植性、安全性和可重用性.数据层包括信息库 和特征库,信息库存储图像的类型、大小、URL等信 息,特征库存储图像的内容特征,数据库采用SQL Server. 2.2相关技术 Servlet是运行在服务器端的Java应用程序,用 户可以用浏览器通过URL来调用Servlet程序. Servlet是基于线程的,可用多线程机制同时为多个 请求服务.JSP在HTML中嵌入JSP标签和Java程 序片断(Scripflet),生成动态数据与静态页面相结 合的HTML网页.实现了显示和内容的分离,便于 开发人员编写和维护网页.JSP是基于Servlet的, 服务器收到请求后触发JSP引擎,对于首次被访问 的JSP文件,引擎将其翻译成Servlet程序,再编译 生成class文件,由Java虚拟机执行,生成响应页面 发送给用户.当相同的JSP网页再次被访问时,JSP 引擎就直接调用已经装载的Servlet程序 JavaBean(简称Bean)是基于Java的可重用组 件,用来执行复杂的计算任务或与数据库交互等操 作.JDBC(Java Database Connectivity)是Java连接数 据库的工业标准,为基于SQL的数据库访问提供 调用级应用编程接口.由于JDBC具有平台无关性 和数据库访问一致性两大优点,开发人员编写的程 序只需稍作改动就可以在不同的平台上访问不同 的数据库系统. JDBC驱动程序分为4类:JDBC。ODBC桥(JD。 BC-ODBC bridge),通过ODBC(Open Database Con- nectivity)驱动程序来提供JDBC对数据库的访问; 本地API部分Java驱动程序(Native。API Partly。Java Driver),将JDBC调用转换为基于客户端API的调 用;中间件的纯Java驱动程序(Net。Protocol A1。一Ja。 va Driver),将JDBC调用转换成为中间件的协议,再 通过中间件服务器访问数据库;本地协议纯Java 驱动程序(Native。Protocol All。Java Driver),由数据库 厂商提供,将JDBC调用转换为特定数据库的网络 协议,进行数据库访问.对于数据库的Web访问, 主要采用后两种驱动程序.因为他们对客户机无任 何要求,是真正的瘦客户机. 2.3功能模块 中间层从功能上分为搜寻模块、查询模块、特 征提取模块和匹配模块.图3显示了中间层的模块 结构.
特征提取模块 卑篓 } ★ } l——一一l I一 特征提取模块L I 征库 I }
、、 一 匹配模块 图3检索子系统HIS中间层的模块结构图 61—
维普资讯 http://www.cqvip.com 南京师范大学学报(工程技术版) 第4卷第1期(2004年) 2.3.1搜寻模块 搜寻模块用于搜索web上的图像,是一个相 对独立的ROBOT程序.使用Java的URL、ParserDel— egator等类可以方便的访问和分析Web网页.程序 从地址列表中抽取URL地址,通过}rrrP协议浏览 Web网页,使用IMAGE和HREF两个HTML标签来 检测获取图像数据.对获取的图像生成缩略图,连 同图像的URL、大小、图像所在网页的URL等信息 存入信息库,调用特征提取模块对图像进行处理, 将特征信息存入特征库.把页面中新的超链接地址 存入地址列表,继续搜索. 2.3.2特征提取模块和匹配模块 特征提取模块负责提取图像颜色、形状、纹理 等内容特征,采用直方图表示颜色特征、共生矩阵 表示纹理特征、边缘方向直方图表示形状特征,使 用Java提供的image包下的图像处理类获取图像 的象素等信息,使用相关算法计算图像的各种特征 值,保存在特征库中.匹配模块系统主要采用欧氏 距离作为相似度量.在进行综合特征查询时,首先 对各特征的距离值进行归一处理 . 2.3.3查询模块 用户通过页面中的表单提交查询请求,包括提 交检索图例Q,选择检索特征,输入查询结果数目 k;进行组合查询时,用户还需输入相关内容特征的 权值.提交图例分为从系统图像库中浏览选择和直 接从客户端上传两种.系统中保存的图像主要分为 风景、动物、植物、飞机、人物等类别,用户首先按分 类浏览,从中选择合适的图例;或者从客户端文件 62一 : !●_·——‘麟辩 耘一 。 ::! ’ ” 欢迎使用篓于潮览的查询 多▲ …· 系统中选择图例,通过MuhipartRequest类上传到服 务器.系统调用特征提取模块获取图例的特征,调 用匹配模块计算图例与系统数据库中图像间的相 似距离值,采用K一最近邻算法(K—Nearest Neighbor Search)一 从数据库中检索图像,得到查询结果RE— SUI|T. 根据RESULT中的索引,系统获取信息库中的 数据,传递给负责显示结果的JSP,生成包括缩略 图、URL、文件大小等数据的动态网页.用户可以根 据检索结果,修改查询参数,进行交互查询.当本地 IRS不能满足用户的需求时,查询模块向用户提供 远程IRS的信息,用户选择合适的远程IRS,由本地 IRS负责组织,实现分布式协作查询.程序实现主 要采用了Ju—Hong Lee等 提出的分布式协作算法 和Java Socket API函数.
3试验与结果 我们对系统进行了测试,通过搜寻模块从Web 上收集了1200幅真彩色图像,组成试验数据库, Web服务器和数据库服务器均采用P4的PC机,用 多台客户机同时进行查询.查询响应时间在3~5 S 之间.查询结果难以进行定量分析,经测试人员进 行逻辑评价,认为结果比较令人满意.图4和图5 分别显示了基于系统浏览选择图例和基于从客户 端上传图例的检索过程和结果.其中,最后一幅图 为查询结果.从图中可见,查询结果按从左到右,从 上到下顺序相似度依次减小.