首页 图像数据库系统的设计与实现

图像数据库系统的设计与实现

举报
开通vip

图像数据库系统的设计与实现图像数据库系统的设计与实现 图象数据库系统的设计与实现 摘要: 现在的 CBIR 技术 与在上面4.4部分中相反的系统描述的基于内容的方法,CBIR 在一完全地不同的原则上操作, 检索储存了来自一个收集的图像自动地比较特征从图像摘录他们自己。 最通常的特征用是对颜色的数学衡量,图像或形状; 因此事实上所有现在的 CBIR 系统, 是否商业的或实验的, 操作在水平1。 一个典型的系统 (看见第 5.5 节在下面为现在的 CBIR 系统的细节) 允许使用者委托正被寻找的图像类型的一个例子制定疑问,虽然一些例如 ...

图像数据库系统的设计与实现
图像数据库系统的设计与实现 图象数据库系统的设计与实现 摘要: 现在的 CBIR 技术 与在上面4.4部分中相反的系统描述的基于内容的方法,CBIR 在一完全地不同的原则上操作, 检索储存了来自一个收集的图像自动地比较特征从图像摘录他们自己。 最通常的特征用是对颜色的 数学 数学高考答题卡模板高考数学答题卡模板三年级数学混合运算测试卷数学作业设计案例新人教版八年级上数学教学计划 衡量,图像或形状; 因此事实上所有现在的 CBIR 系统, 是否商业的或实验的, 操作在水平1。 一个典型的系统 (看见第 5.5 节在下面为现在的 CBIR 系统的细节) 允许使用者委托正被寻找的图像类型的一个例子制定疑问,虽然一些例如 来自调色板的选择提供替代方案或描绘略图输入。 系统然后识别那些储存为价值作广告的图像最接近地相配那疑问的那些,而且显示屏幕错误上的这些图像的大拇指的指甲! 叁考来源没发现。 一些更普遍用的作为 图像检索的特征类型在下面被描述。 颜色检索 以颜色类似为基础检索图像的一些方法中被描述,但是大部分是相同的基本上的变化主意。每个图像增加到收集被分析计算一个在图像里面展现每个颜色的图素比例的颜色柱状图。颜色柱状图为每个图像然后被储存在数据库中。 在搜寻,使用者罐子或叙述每个颜色 (75% 橄榄绿色的和 25% 红色的,举例来说) 的被需要的比例,或从哪一个一个颜色柱状图是有计画的委托一个例子图像。 任一方法, 那然后相配程序检索那些把柱状图涂颜色的图像最接近地相配那疑问的那些。 那最普遍相配技术用,柱状图十字路口, 是第一的被 Swain 和 Ballard 发展 [1991]。 技术的变体现在被在现在的 CBIR 系统的高比例中用. 在 Swain 和 Ballard's 最初的技术上改良的方法包括累积的颜色柱状图的使用 [Stricker 和 Orengo , 1995], 用联合柱状图十字路口空间的相配一些元素 [ Stricker 和 Dimai, 1996], 和以区域为基础的颜色问的使用 [Carson et al, 1997]。来自一些系统的结果能看起来相当给人深刻象。 关键词:图像 数据库系统 设计 目录 第一章 综言――――――――――――――――――3 1.1图像数据库的概述 1.2图像数据库与基于内容图像检索技术的发展与利用 1.3本课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 提出的意义与达到的目标 第 2 章 图像数据库系统的设计―――――――――6 2.1图像数据库系统功能设计 2.2图像数据库系统界面设计 2.3.图像数据库系统特征数据库表结构设计 第3章 图像数据库系统开发――――――――――15 3.1基于图像内容的图像检索系统结构 3.2数据库系统开发工具(环境)的选择 3.3 基于内容的图像检索的实现 3.4图像数据库系统基本功能的编程实现 第 4 章 总结与展望―――――――――――――26 参考文献―――――――――――――――――――27 谢辞―――――――――――――――――――――28 2 第1章 综 言 1.1图像数据库的概述 自八十年代初提出图像数据库概念以来,图像数据库的理论及其应用一 直是图像处理和模式识别领域研究的热点之一。图像处理和图像数据库是随 着多媒体技术的发展而兴起的一项新技术。图像作为多媒体的重要内容应用 日益广泛,图像数据库的规模越来越大,对可视信息进行有效的管理成为迫 切需要解决的问题。目前对于图像数据的管理大都采用表+实体的方法,即图 像数据以文件形式存放于指定的计算机目录下,在数据库表中只反映图像数 据文件的存储路径。这种管理模式,给数据的维护增加了难度,同时,也给 数据的安全带来一定的隐患。因此,要真正做到各类数据在数据库中安全管 理,研究和探索直接将图像数据存储在数据库关系表中的方法是非常必要的。 图像数据库技术一直致力于解决海量数字图像的有效存储和管理问题。它是 数据库技术的继承和发展,一方面,图像数据和文本数据存在着本质的区别, 在文本数据领域得以成功应用的传统数据库技术,如果一成不变的照搬到图 像数据库领域,结果往往是低效,甚至无效;另一方面,传统数据库的许多 成果,如SQL语言、索引技术等都值得图像数据库借鉴。上述两个方面的结 合成为目前图像数据库技术发展的主流。 图像数据库比传统的文本数据库更具有的优势是:它是适用于多媒体技 术的一项新技术。不但,可以利用传统的方法来存储数据。而且还可以利用 多媒体技术的方法采用,,,摄像头及图像采集板实现原始图像采集;采用 图像处理算法对原始图像进行图像平滑及锐化处理;采用,,,,静止图像 压缩 标准对图像数据压缩存储;以及使用数码相机采集原始图像以光盘存储 等先进图像存取技术。图像数据库的使用开发,一般有这么几个步骤:首先, 也就是通过多媒体技术或其他技术对图像进行存取。 其次,论述了图像的预 处理技术,包括彩色图像灰度化技术、二值化技术、 非线性滤波技术和轮廓 增强技术,其中论述了基于边缘自适应的中值滤波器和动态模糊轮廓增强技 术等其他的算法。 然后,根据不同图像的特点,给出了图像特征参数提取方 法。 最后,分析了实际应用中图像数据库的需求特点,并论述图像数据库的 实现方案。 1.2图像数据库与基于内容图像检索技术的发展与利用 随着现代信息技术的飞速发展,多媒体信息检索系统对社会各领域产生越来越大的影响。图像作为多媒体的重要内容应用日益广泛,图像数据库的规模越来越大,对可视信息进行有效的管理成为迫切需要解决的问题。灵活、高效、准确的图像检索策略是解决这一问题的关键技术之一。 传统的图像检索是基于标签式的关键词匹配检索方式,即使用关键字或自由文本描述图像数据库中的每幅图像,其对图像内容的描述主要是通过对图像人工添加与其内容相关的文本标注来实现,而人工文本标注除了存在主观性、不准确、费时等弊端外的图像某些可视信息,例如:纹理、形状等很难用文本准确描述。因此,人们提出了基于图像内容的图像检索技术CBIR(Content-Based Image 3 Retrieval)技术。这种技术使用特定的算法与技术手段由计算机自动提取包含图像内容的可视特征如颜色、纹理、形状、对象的位置和相互关系等,并将提取的不同图像的相互区别的一组特征存入图像特征数据库,通过对数据库中图像和查询样本图像在特征空间进行相似匹配,检索出与样本相似的图像。基于内容的图像检索技术融合了图像理解,模式识别等技术,克服了传统检索方法的缺陷,具有无可比拟的优越性,对该技术的研究已成为当前的一大热点。 它们两者的结合使用,可以很好的解决在多媒体技术下,出现的许多问题。例如,指纹识别系统、服装业的成衣图像数据库、医学界的脑图像数据库等等。这些都是图像数据库与基于内容图像检索技术很好的实现产品。在多媒体信息检索系统对社会各领域产生越来越大的影响下,图像数据库与基于内容图像检索技术将有非常大的潜力。 1. 3本课题提出的意义与达到的目标 本课题是关于图像内容的检索的图像数据库系统。它提出的意义是,图像数据库系统有别于以往普通的文本数据库。普通的文本数据库中,往往保存的是一般的简单数据。它还是很少的涉及到一些多媒体的技术。所以,在如今随着现代信息技术的飞速发展,多媒体信息检索系统对社会各领域产生越来越大的影响。在这种背景下,正当普通的文本数据库力不从心的时候,图像数据库系统的提出正好解决了目前多媒体信息技术发展的难题。多媒体信息技术发展的同时,使得数据库的容量也急剧膨胀。图像数据库技术一直致力于解决海量数字图像的有效存储和管理问题。它是数据库技术的继承和发展,一方面,图像数据和文本数据存在着本质的区别,在文本数据领域得以成功应用的传统数据库技术,如果一成不变的照搬到图像数据库领域,结果往往是低效,甚至无效;另一方面,传统数据库的许多成果,如SQL语言、索引技术等都值得图像数据库借鉴。上述两个方面的结合成为目前图像数据库技术发展的主流。因此,如今图像数据库正被越来越多的使用。 正在这种多媒体信息技术发展的趋势下,本课题提出的正是关于图像数据库系统的设计。本课题的图像数据库系统,要有基本的图像数据库系统的维护管理功能。不但如此,还要有图像数据库系统的基于内容的图像检索的功能和基于图像名称的图像检索的功能。 本课题(图像数据库系统)按照要求需要达到的目标是: 一、图像数据库系统的维护 1、图像数据库系统中图像的添加功能 2、图像数据库系统中图像的删除功能 3、图像数据库系统中图像的修改功能 4、图像数据库系统中图像显示和浏览功能 二、图像数据库系统的检索 4 1、图像数据库系统中基于内容的图像检索 2、图像数据库系统中基于名称的图像检索 三、图像数据库系统的图像数据库表的设计 5 第 2 章 图像数据库系统的设计 2.1图像数据库系统功能设计 图像数据库系统的功能: 一、图像数据库的基本维护 1、图像数据库系统中图像的添加功能 图像数据库系统中图像的添加功能的实现是,当用户单击数据库管 理界面中的“添加”按钮后,图像数据库系统将弹出一个添加图像信息 的对话框。用户可以在其中添加图像的相应信息(图像名称、图像内容), 单击OK后,此图像将被存储到图像数据库系统中供以后查询之用。这就 是图像数据库系统中图像的添加功能。 2、图像数据库系统中图像的删除功能 图像数据库系统中图像的删除功能是,当用户单击数据库管理界面 中的“删除”按钮后,图像数据库系统将弹出一个删除图像信息的确认 对话框,让用户再次确认是否真的需要删除此图像,单击OK后,此图像 将被从图像数据库中删除掉。这就是图像数据库系统中图像的删除功能。 3、图像数据库系统中图像的修改功能 图像数据库系统中图像的添加功能的实现是,当用户单击数据库管 理界面中的“修改”按钮后,图像数据库系统将弹出一个修改图像信息 的对话框。用户可以在其中修改图像的相应信息(图像名称、图像内容), 单击OK后,此图像的相应信息将被新的信息所代替。这就是图像数据库 系统中图像的修改功能。 4、图像数据库系统中图像的显示和浏览功能 图像数据库系统中图像的显示和浏览功能是,当用户单击数据库管 理界面中图像名称栏的图像名称时,数据库管理界面左侧的位图显示栏 中,显示的就是对应图像名称的图像。这就是图像数据库系统中图像的显 示和浏览功能。 二、图像数据库的查询功能 1、基于内容的图像检索(查询)功能 在图像数据库系统的主界面中有一个“查询”按钮。当主界面左侧的 位图显示框中有图像时,单击“查询”按钮,在主界面右侧的图像名称显 示框中,将出现在图像数据库中,符合这张图像的特征值的图像名称。在 实现此功能的时候,用到了取得不同图像的特征值的算法。这就是基于 内容的图像检索(查询)功能。 2、基于图像名称的图像检索(查询)功能 6 在图像数据库管理界面中,有图像的名称框位于本界面的右侧。当 用户单击右侧图像名称框中的图像名称时,在图像数据库管理界面左侧 的位图显示框中,将会出现相对应于此图像名称的图像。这就是基于图 像名称的图像检索功能。 三、图像数据库系统的图像数据库表的设计 图像数据库系统的图像数据库表的设计是根据本系统所配套使用的 所提取的不同图像的特征值,来确定图像数据库表的属性(字段)。算法, 并且,图像数据库表的属性(字段)还可以设法使用图像数据库特征值组 合分解方法。从而,达到使图像数据库的结构尽可能的简化。 正如上面所说,图像数据库系统的图像数据库表的设计是根据系统 所配套使用的算法的不同而变化的。不同的算法,就会提取图像的不同的 图像特征值。所以,图像数据库的设计是具有很强的灵活性,不是一直不 变的。 2.2图像数据库系统界面设计 图像数据库系统基本功能包括在特征数据库中添加图像、查询图像、修改图像的基本资料、删除图像的资料以及对数据库中的已存图像进行浏览等。图2-1到图2-5为系统运行界面。 图像数据库系统的界面简介如下: , 菜单栏 菜单栏上有文件、编辑、查看及帮助等主菜单。 在“文件”菜单下有“新建”、“打开”、“保存”及“打印”等文件的基本处理功能;在“编辑”菜单下有“剪切”、“复制”及“粘贴”等功能。在“查看”菜单下有“工具栏”及“状态栏”显示或隐藏等功能,通过对它们的选择控制,能使工具栏和状态栏是否可见。点击“帮助”项菜单有一个简要的关于本系统的信息的对话框将被打开; , 工具栏 工具栏有一系列的工具按钮组成,它们分别与菜单栏中的菜单中命令相对应,实现相应功能; , 状态栏 状态栏把当前的状态信息及提示信息告诉用户。本系统涉及到图像信息库信息,在系统的图库查询中,为了使用户知道图像数据库中的当前记录总数及当前查询结果的记录位置,本实验系统添加了一个信息行窗格,用于显示这两项内容; , 主窗体 主窗体左边有一个显示图像的静态图像控件,显示打开的BMP图像。在该框下方有四个命令按钮,“查询结果列表” 列表会列出数据库中所有与测试样图特征相符图像的图像名; 7 , 命令按钮 主界面上有四个命令按钮,“图像特征查询”按钮可完成查询当前打开的图像功能;“添加到特征库” 按钮完成添加图像及相关信息到图库的功能;“浏览与编辑图库信息”按钮负责完成查看及修改,删除图库信息的功能。 图像数据库系统界面设计及功能: 图2-1 图像数据库系统主界面 (1)图2-1是图像数据库系统的主界面,它主要实现的系统功能有:图像特征查询、添加图像信息、进入图像数据库的维护界面、绘制色度直方图、查看分割信息以及进行加权特征组合选择。其中图像特征查询、添加图像信息、进入图像数据库的维护界面的功能是本课题需要实现的功能,现在就在此简单的介绍一下。当用户从本地添加一副图像到系统后,该图像就会出现在左侧的位图控件中。然后用户单击“添加”按钮,即出现图2-5的添加界面,在添加界面中可以输入该图像相关的信息,如图像的名称、图像的描述内容。当用户输入完相应图像信息后,单击“确定” 图像信息便会添加到图像数据库中。以供今后基于图像内容的查询使用。然后单击“查询”按钮,在“查询结果列表”中便会出现符合条件的图像名称。这就说明图像数据库中有符合要求的图像,单击图像名称后,便会在“查询结果”中显示图像的相关信息。(图像名称、图像内容)如果图像数据库中没有符合要求的图像时,系统就会弹出一个提示对话框,显示“对不起,您要查找的图片不在本数据库中!”。 在图像数据库系统主界面中,除了上面介绍的图像数据库系统的基本功能外,还有一些其他辅助的功能。如:能从主界面的文件菜单中进行,打开图像文件、保存图像文件、打印图像文件,在主界面的编辑菜单中有“剪切”、“复制”及“粘贴”等功能。在“查看”菜单下有“工具栏”及“状态栏”显示或隐藏等功能,通过对它们的选择控制,能使工具栏和状态栏是否可见。点击“帮助”项菜单有 8 一个简要的关于本系统的信息的对话框将被打开。 图2-2浏览与编辑图库信息界面 (2)图2-2是浏览与编辑图库信息界面。它主要的功能是,对图像数据库中的数据进行操作维护。如:对图像数据库中的图像信息(图像名称、图像内容)进行修改、删除的操作。现在就介绍一下浏览与编辑图库信息界面的功能。当用户单击图2-1中“查看及处理图库信息”按钮后便可以进入图2-2浏览与编辑图库信息界面。在“图像名称列表”中会显示数据库中记录的所有图像名称。单击一个图像名称,在右边的位图控件中便会显示相应的图像,在下方相应位置也会出现相关信息。单击“修改”按钮,便会出现图2-4的修改界面。输入修改信息后,便可将修改后的数据输入数据库。单击“删除”按钮,系统会出现一个图2-3的提示对话框,问用户是否真的要删除。单击“确定”后,该图像便会从数据库中永远删除。 图2-3删除图像确认框 (3)图2-3是删除图像确认框。它主要的功能是,把用户选中的图像永久的从图像数据库中删除。当用户单击“确定”按钮后,被用户选择的图像将从图像数据库中被删除,包括其相关信息。所以用户在使用此功能时应该考虑清楚是否真的要永久删除该图像。 9 图2-4修改图库信息对话框 (4)图2-4是修改图库信息对话框。该对话框的主要功能是,可以修改用户选择的图像的相关信息(图像名称、图像内容),使用新的信息来更新图像数据库中,旧的图像信息。该对话框的使用步骤是:当用户在“图像名称”栏中,输入了新的图像名称,并且在“图像内容”栏中也输入了新的图像内容的描述后,单击“确定”按钮,则图像的新的图像名称以及新的图像内容的描述就会覆盖掉此图像的原来的图像名称以及原来的图像内容的描述,从而达到了修改图像信息的目标。 图2-5添加图库信息对话框 (5)图2-5是添加图库信息对话框。该对话框的主要功能有,在图像数据库中,添加新的图像。添加新的图像时,不单单添加图像名称、图像内容,而且还在暗处添加该图像的各个特征值进入图像数据库。从而在图像数据库中形成了一个新的图像数据,以供今后使用。使用的步骤是:当用户在“图像名称”栏中,输入了图像名称,并且在“图像内容”栏中也输入了图像内容的描述后,单击“确定”按钮,则图像的图像名称以及图像内容的描述都会随着图像一起添加到图像数据库中去,从而实现了图像添加的目标。 10 2.3.图像数据库系统特征数据库表结构设计 图像数据库系统是使用SQL SERVER 2000来作为图像数据库的开发工具。 、数据库名为aa、表名为P图像数据库系统在ODBC中定义了一个名为aa 的数据源。 2.3.1关系数据库表结构设计: 本关系数据库表结构设计,是通过本图像数据库系统,所使用的算法,它所要求的提取图像的特征值。来进行对本关系数据库表结构的设计。所以,如果图像数据库系统使用了不同的算法,它所要求的提取图像的不同特征值,那么对本关系数据库表结构的设计也将大不相同。本系统使用的算法是局部阈值算法。此算法的将在下一章做简单介绍。 本系统的关系数据库表结构设计如下: 列名 类型定义 说明 picturename Char(20)(字符型) 图像名称 path Char(50)(字符型) 图像文件所在路径 content Char(100)(字符型) 图像内容描述 maincolor Double(双精度浮点型) 图像主色调 blockcolor1???blockcolor10 Double(双精度浮点型) 图像分块后的 各个分 块的主 色调 pictureindex Integer (长整型) 图像的索引值(编号) clrused Integer (长整型) 图像所用的颜色数 mj1„mj10 Integer (长整型) 图像分块后的各 个分块的面积 2.3.2图像数据库系统特征数据库表各属性的说明 图像数据库系统特征数据库表使用SQL Server2000开发,用于存储不同图像的不同特征值。然后,图像数据库系统的基于检索的功能,正是通过一定的算法,算出指定图像的特征值。随后,用算出指定图像的特征值与图像数据库系统 11 特征数据库表中的特征值进行比较。当两值互相匹配时,就从图像数据库中调出相应的图像显示在图像数据库系统的界面中。 图像数据库系统特征数据库表中各个属性字段的作用如下: (1)picturename字段(图像名称) picturename是用于存放图像数据库系统中图像名称的字段。因为要存储 图像名称,所以必须将picturename字段的类型设为Char(20)字符型。 (2)content字段(图像描述内容) content是用于存放图像数据库系统中图像描述内容的字段。因为要存储 图像描述内容,所以必须将content字段的类型设为Char(50)字符型。由 于,图像描述内容往往会很长,所以必须考虑把content的字符长度设置的 大一些。 (3)maincolor字段(整张图像的主色调) maincolor是用于存放图像数据库系统中整张图像的主色调的色度值。 因为要存储图像的主色调的色度值,而色度值的计算是通过一个专门用于 ,,R,G,R,B,,,,,,1,H,cos,,2,,,,,,2RGRBGB,,,,,,,, RGB转换为HIS公式 其中: R?G或R?B H为使色调归一化至[0,1]范围内。所以必须将maincolor字段的类型设为 Double(双精度浮点型)。 (4)pictureindex字段(图像索引号) pictureindex是用于存放图像数据库系统中图像索引号的字段。因为要 存储图像索引号,所以要将pictureindex字段的类型设为Integer (长整型)。 (5)clrused 字段(图像用的颜色数) clrused是用于存放图像数据库系统中图像总共所用的颜色数。因为要 存储图像的颜色个数,所以要将clrused 字段的类型设为Integer(长整型)。 (6)mj1„mj10 字段(图像分块后各个分块的面积) mj1„mj10是用于存放图像数据库系统中图像分块后各个分块的面 积的字段。它不是胡乱存储的。它是按照图像分块后各个分块的面积从大 到小的顺序进行存储的。最大的面积被存放在mj1中,以此类推最小的面 积被存放在mj10中。(如果图像分了10个分块)因为要存储图像分块后 各个分块的面积值,所以要将mj1„mj10 字段的类型设为Integer(长整 型)。 (7)path字段(图像文件所在的路径) path是用于存放图像数据库系统中图像文件所在的路径的字段。因 12 为要存储图像文件所在的路径,所以path字段的类型必须设为Char(50)(字符型)。 (8)blockcolor1„blockcolor10字段(图像分块后各个分块的主色调) blockcolor1„blockcolor10是用于存放图像数据库系统中图像分块后各个分块的主色调的字段。因为要存储图像分块后各个分块的主色调,而与maincolor字段(整张图像的主色调)的原因相似, blockcolor1„blockcolor10字段的类型也必须设为Double(双精度浮点型)。 2.3.3减少图像数据库存放特征值容量的有关措施 一、图像数据库特征值组合分解法 图像数据库往往需要存储海量的数据。通过一定的算法,提取数据的特征值。然后,对应的存储在图像数据库中,通过一定的方法进行识别。所以,我们为了尽量的缓解图像数据库的复杂度,使用了图像数据库特征值组合分解方法。 图像数据库中的特征值blockcolor1„blockcolor10字段就是使用图像数据库特征值组合分解法。 图像数据库特征值组合法具体的实现是: 1) 要从blockcolor1„blockcolor10字段的组成开始讲。blockcolor1„blockcolor10字段的组成是由: X坐标(图像各个分块的最左上方的X坐标)、Y坐标(图像各个分块的最左上方的Y坐标)、图像分块后各个分块的主色调 ,三部分组成。它们三者的组合顺序是:XY主色调(其中主色调的值应该在3.14之内)例如:XY2.235648。 2)开始制作这些特征值组合的blockcolor1„blockcolor10字段。从程序中取出图像分块后各个分块的位置(X坐标、Y坐标)。然后,由于blockcolor1„blockcolor10字段的特征值组合顺序是,XY主色调(其中主色调的值应该在3.14之内)。由于图像是256*256的像素。所以,先把Y的坐标值取出乘以10再加上主色调的色度值。再把X的坐标值取出乘以10000加上Y的坐标值取出乘以10再加上主色调的色度值的和。最后,得到的就是使用图像数据库特征值组合方法,做出的blockcolor1„blockcolor10字段值。这个字段值把本来应该分开的图像分块的位置特征值和图像分块的主色调特征值组合在了一起,从而简化了图像数据库。 图像数据库特征值分解法具体的实现是: 当blockcolor1„blockcolor10字段已经使用了图像数据库特征值组合法后,此时如果图像数据库想从blockcolor1„blockcolor10字段组合中,分别分离出X坐标、Y坐标、图像分块的主色调时,就应该使用图 13 像数据库特征值分解方法。例如:XY2.235648。先把XY2.235648除以10000取整,得到的便是X的坐标值。然后,XY2.235648除以10取整,得到的便是Y的坐标值。最后,XY2.235648除以10取模,得到的便是图像分块的主色调。以上的这种方法就是图像数据库特征值分解法,它是图像数据库特征值组合法的反运算。 二、图像数据库特征值组合分解法的意义 因为图像数据库往往需要存储海量的数据。通过一定的算法,提取数据的特征值,所以图像数据库的数据特征值也有可能过于庞大。所以,我们为了尽量的缓解图像数据库的复杂度,使用了图像数据库特征值组合分解方法。例如:本图像数据库系统的图像特征值blockcolor1„blockcolor10字段。它其实是组合了图像分块位置(X、Y坐标)、图像分块的主色调的特征值组合字段。这样做的好处是,把本来需要使用的三个图像特征值,一下子锐减到了一个图像特征值。大大的减少了图像特征值的个数。由于图像数据库本身就要存储海量的数据,更不用说通过一定的算法,提取数据的特征值了。它们一定随着数据的增多,算法的改善,而变的越来越多。到最后,图像数据库的数据特征值也有可能过于庞大。所以,必须想办法尽量的减少图像数据库的数据特征值。从而缓解图像数据库越来越多庞大的压力。 三、图像数据库Path字段的使用及其意义 图像数据库中Path字段的使用,也是在一定的程度上对缩小图像数据库容量起到了一定的作用。原因是如果在图像数据库中,真的储存了图像数据的话,那么这个图像数据库的容量将变的十分的庞大。众所周知,图像的容量一定大大超过了简单的图像文件所在的路径。所以,我们可以想办法,让图像数据库中,不用直接存放图像。而是,通过存储图像文件所在的路径。这样这个图像数据库的功能与直接存储图像文件的数据库基本相同。但是,这个图像数据库的容量却大大小于直接存储图像文件的图像数据库。所以,我在本系统设计图像数据库时就使用了Path字段(图像文件所在的路径)。然后,通过MFC中的LoadImage的函数,来通过使用本系统图像数据库中Path字段(图像文件所在的路径),从而找到相应路径的图像。所以,在图像数据库中使用Path字段,也是缩小图像数据库的一个有效的方法。 14 第3章 图像数据库系统开发 3.1基于图像内容的图像检索系统结构 基于图像内容的图像检索系统结构如图3-1所示,基于图像内容的图像检索系统其主要部分的功能是图象信息的获取、信息的加工和处理(包括抽取图像特征)、判断或分类和图像数据库访存等。 , 图像信息的获取功能 图像信息的获取对于图像识别来说,就是把图片、底片、文字图形等用 光电扫描设备将其变换成电信号以被后续处理; , 信息的加工和处理功能 信息的加工和处理是对获取的图像信息抽取能反映其本质的特征,至于 抽取何种特征、保留多少特征则与采用何种判断或分类方法有关; , 判断或分类功能 判断或分类方法与抽取特征方式密切相关,其复杂程度往往依赖于抽取 图像特征的方式。例如,可以采用:类似度、相关性及最小距离等方法; , 图像数据库存访功能 图像数据库存访功能主要考虑对数据库的管理、数据的组织以及数据的 查询方式与效率等。 图3-1 检索系统结构 15 3.2数据库系统开发工具(环境)的选择 我们之所以使用Visual C++6.0作为系统开发工具是因为。 首先,考虑到图像处理的速度及数据库接口编程功能,实验平台的处理对象是信息量较大的彩色数字图像并涉及图像数据库开发与管理; 其次,Visual C++是Microsoft公司出品的可视化编程产品,具有面向对象开发,与Windows API紧密结合以及丰富的技术资源和强大的辅助工具。这些优势是开发Windows应用程序的强有力工具。 再有,Visual C++中包括了ActiveX开发、数据库开发、多媒体开发控件,Visual C++是一个强大的多媒体开发平台。利用Visual C++已经开发出许多非常专业的多媒体应用程序。 最后,可以充分利用MFC的优势。在MFC中具有许多的基本库类,利用它们可以编写出各种各样的Windows应用程序,并可节省大量重复性的工作时间,缩短应用程序的开发周期。使用MFC的基本类库,在开发应用程序时会起到事半功倍的效果。 并且Visual C++开发数据库技术也有它自己独特的特点。Visual C++提供了多种多样的数据库访问技术——ODBC API、MFC ODBC、DAO、OLE DB、ADO等。这些技术各有自己的特点,它们提供了简单、灵活、访问速度快、可扩展性好的开发技术。 简单性: Visual C++中提供了MFC类库、ATL模板类以及AppWizard、ClassWizard等一系列的Wizard工具用于帮助用户快速的建立自己的应用程序,大大简化了应用程序的设计。使用这些技术,可以使开发者编写很少的代码或不需编写代码就可以开发一个数据库应用程序。 灵活性: Visual C++提供的开发环境可以使开发者根据自己的需要设计应用程序的界面和功能,而且,Visual C++提供了丰富的类库和方法,可以使开发者根据自己的应用特点进行选择。 访问速度快: 为了解决ODBC开发的数据库应用程序访问数据库的速度慢的问题,Visual C++提供了新的访问技术——OLE DB和ADO,OLE DB和ADO都是基于COM接口的技术,使用这种技术可以直接对数据库的驱动程序进行访问,这大大提供了访问速度。 可扩展性: Visual C++提供了OLE技术和ActiveX技术,这种技术可以增强应用程序的能力。使用OLE技术和ActiveX技术可以使开发者利用Visual C++中提供的各种组件、控件以及第三方开发者提供的组件来创建自己的程序,从而实现应用程序的组件化。使用这种技术可以使应用程序具有良好的可扩展性。 访问不同种类数据源: 传统的ODBC技术只能访问关系型数据库,在Visual C++中,提供了OLE DB访问技术,不仅可以访问关系型数据库,还可以访问非关系型数据库。 16 3.3 基于内容的图像检索的实现 本图像数据库系统的基于内容的图像检索的实现,软件开发平台为Visual C++6.0,并且采用MICROSOFT开放数据库接口(MFC ODBC)实现基于表示及基于内容的图像数据库检索。图像数据库的开发则使用了SQL Server 200作为开发工具。 但是,图像数据库系统的基于内容的图像检索的实现,最主要的方面是,图像数据库系统所嵌入的基于内容的图像检索的算法。根据所嵌入的不同的算法,图像数据库系统所能达到的效果也不同。本系统所使用的算法是,通过提取图像的色块,色块中的主色调,等特征值。然后,通过对这些特征值的判断来区别不同的图像。从而达到基于内容的图像检索的目标。 所以,本图像数据库系统具有很强的可扩展性。可以通过嵌入不同的算法,来完成不同的目标。 现在就简单的介绍一下本系统配套所使用的算法(局部阈值法图像分割算法): 首先,先阐述一下本系统使用局部阈值法图像分割算法的理由。 由于算法是最终是要嵌入基于内容的图像检索程序中,因此主观上能否判别是否是原图分割后得到的图像尤为重要。因为图像最终将以分割图中的信息存入数据库,从而进行基于内容的图像检索。所以,现在我们先做一个算法测试实验。 看看哪个算法效果更加。 算法测试步骤如下: 1)搜集一系列反应现实风景的彩色256*256图像; 2)在算法测试平台上打开这些图像; 3)分别对于原图像进行全局阈值法和局部阈值法处理; 4)得到分割图后,与原图相比较。 以下是一系列测试结果: 17 图3-3 原图 图3-4 全局阈值法得到的分割图 图3-5 局部阈值法得到的分割图 18 由上述几例可以明显看出局部阈值法所取得的效果要较全局阈值法所取得的效果佳。使用局部阈值法,可以较好地提取出原图的大致特征,可以将主要块的信息作为基于内容的图像检索信息。如上述两图的主要分割块的信息如下(局部阈值法后得到): 图3-6原图局部阈值法分割后信息 局部阈值法图像分割算法设计与实现 局部阈值法,主要思想是先将图像分为几个大块,再对各自块中求阈值。本论文所提出的算法是先将图像区分成目标和背景两块 ,然后各自对目标块和背景块求阈值进行区域生长合并。 算法主要流程如下: 1(图像按色度值分割成目标和背景两部分,做相应标记; 2(求得目标部分的初始阈值; 3(已求得的目标部分的阈值情况下,对目标部分图像进行区域生长合并操作; 4(对于求得的目标部分结果进行判断,如果块数过多,则扩大阈值,相反如果 块数过少则减小阈值; 5(返回第二步,直到得到理想的目标部分分块结果(5到10块之间); 6(求得背景部分的初始阈值; 7(已求得的背景部分的阈值情况下,对背景部分图像进行区域生长合并操作; 8(对于求得的背景部分结果进行判断,如果块数过多,则扩大阈值,相反如果 块数过少则减小阈值; 9(返回第七步,直到得到理想的目标部分分块结果(5到10块之间); 10.将目标和背景分块结果合并后保存。 3.4图像数据库系统基本功能的编程实现 本节主要说明的是图像数据库系统基本功能如图像的添加、删除、修改、检索、位图的显示、打开等等的实现。 3.4.1位图显示相关技术与编程分析 19 本系统在主界面图像的打开,显示及查看图像信息功能中,都涉及了位图资源的创建过程。首先让我们了解一下LoadImage()显示图像函数。 Windows提供了很多显示位图的方法有LoadImage()显示图像函数。 在Windows95和WindowsNT4.0以及其后所有的Windows版本中,都提供了LoadImage()函数。该函数可以直接从磁盘文件中读入一个位图,并返回DIB句柄。该函数的原型定义如下: HANDLE LoadImage(HINSTANCE hinst, LPCTSTR lpszName, UNIT uType,int cxDesired,int cyDesired,UNIT fuLoad) 其中各参数的含义如下: hinst:包含要加载图像的实例 lpszName:要加载的图像的文件或资源名称 uType:要加载的图像类型。它的取值可能是: , IMAGE_BITMAP:位图 , IMAGE_CURSOR:光标 , IMAGE_ICON:图标 cxDesired:指定要加载的光标和图标的像素宽度 cyDesired:指定要加载的光标和图标的像素高度 fuLoad:加载选项,它的取值是下列值的组合: , LR_DEFAULTCOLOR:默认值,没有特殊的含义,表示不对图像颜色进 行处理。 , LR_CREATEDIBSECTION:当参数uType取值位IMAGE_BITMAP,该 参数指定创建一个DIB项 , LR_DEFAULTSIZE:指明使用图像默认大小 , LR_LOADFROMFILE:指定是从由参数lpszName指定的文件中加载图 像。如果不指明,默认是从lpszName指定的资源中加载图像 , LR_LOADMAP3DCOLORS:如果指定该选项,函数会自动把颜色RGB (128,128,128)替换成COLOR_3DSHADOW;把RGB(192,192, 192)替换成COLOR_3DFACE;把RGB(223,223,223)替换成 COLOR_3DLIGHT , COLOR_3DFACE:把颜色RGB(233,233,233)替换成COLOR_3DLIGHT , LR_MONOCHROME:把图像转换成黑白图像 , LR_SHARED:如果图像被打开多次,则共享该图像句柄 , LR_VGACOLOR:使用VGA颜色 该函数如果调用成功,返回读取位图的句柄;如果失败,返回NULL。 LoadImage()显示图像函数在本系统的应用: (1) 窗体编程中位图显示源代码说明 在BOOL CLianxiDoc::OnOpenDocument(LPCTSTR lpszPathName)函数中加入语句: hbmp=(HBITMAP )LoadImage(AfxGetInstanceHandle(),lpszPathName,IMAGE _BITMAP,0 ,0,LR_LOADFROMFILE); //hbmp为定义的一个位图句柄,形式为HBITMAP hbmp 20 //应用程序在文件打开时调用LoadImage加载位图并获得位图的句柄存入hbmp 在void CLianxiView::OnInitialUpdate()函数中加入语句: //创建设备环境句柄 HDC dc; dc=::GetDC(NULL); //获取设备环境 hdc=CreateCompatibleDC(dc); //获取内存设备环境 doc=GetDocument(); //引用Document类,获取打开的位图指针 SelectObject(hdc,doc->hbmp); //选入内存设备环境 //程序在视图类初始化时,将打开位图放入选入内存设备环境 在void CLianxiView::OnPaint()函数中加入语句: doc=GetDocument(); //引用Document类,获取打开的位图指针 //在指定的设备输出内存中的位图 dc.BitBlt(15,45,doc->bitmap.bmWidth,doc->bitmap.bmHeight,CDC::FromHa ndle(hdc),0,0,SRCCOPY); /*函数BitBlt将位图内存设备环境拷贝到显示设备环境中,dc获得显示设备的句柄,当应用程序的窗口需要重绘时Windows发送一个WM_PAINT消息,添加语句使dc获得的位图重画*/ (2) 查看图像信息窗体中位图显示源代码说明 在void CPictureImfoDlg::OnSelchangeList1()中加入语句: HBITMAP hbmp; //获得位图句柄 //加载位图并获得位图的句柄存入hbmp hbmp=(HBITMAP )LoadImage(AfxGetInstanceHandle(),(LPCTSTR)PictureS et.m_path,I MAGE_BITMAP,0,0 ,LR_LOADFROMFILE); GetObject(hbmp,sizeof(BITMAP),&bitmap); //获取位图尺寸 HDC dc; //创建设备环境句柄 dc=::GetDC(NULL); //获取设备环境 hdc=CreateCompatibleDC(d); //获取内存设备环境 SelectObject(hdc,hbmp); //选入内存设备环境 Invalidate(); //对图像重画 /*当用户在列表框中选择图像后,Widows发送一个LBN_SEKCHANGE消息,添加语句利用Invalidate()函数对图像重画*/ 在void CPictureImfoDlg::OnPaint()中加入语句: //将位图内存设备环境拷贝到显示设备环境中 在CPictureImfoDlg::OnPaint()中加入语句: CPaintDC dc(this); // device context for painting dc.BitBlt(28,52,bitmap.bmWidth,bitmap.bmHeight,CDC::FromHandle(hdc),0, 0,SRCCOPY); 3.4.2系统数据库的连接及设置 (1)数据库的连接 使用MFC中的GetDefaultConnect函数可以用于数据库的自动连接; 21 CString CLianxiSet::GetDefaultConnect() { return _T("ODBC;DSN=aa");//设置ODBC连接数据源为aa } CString CLianxiSet::GetDefaultSQL() { return _T("[dbo].[p]"); //使用SQL Server作为数据库 } (2)数据库的字段名与程序变量的联系 使用MFC中的DoFieldExchange函数可以用于数据库字段名称与程序所 定义的变量的联系。 void CLianxiSet::DoFieldExchange(CFieldExchange* pFX) {// 设置图像特征变量与字段对应关系 //{{AFX_FIELD_MAP(CLianxiSet) pFX->SetFieldType(CFieldExchange::outputColumn); RFX_Int(pFX, _T("[mj1]"), m_mj1); RFX_Int(pFX, _T("[mj2]"), m_mj2); ? ; RFX_Int(pFX, _T("[mj5]"), m_mj10) RFX_Double(pFX, _T("[blockcolor1]"), m_blockcolor1); RFX_Double(pFX, _T("[blockcolor2]"), m_blockcolor2); ? RFX_Double(pFX, _T("[blockcolor10]"), m_blockcolor10); RFX_Double(pFX, _T("[colornum]"), m_maincolor); RFX_Text(pFX, _T("[content]"), m_content); RFX_Int(pFX, _T("[pictureindex]"), m_pictureindex); RFX_Text(pFX, _T("[picturename]"), m_picturename); RFX_Text(pFX, _T("[path]"), m_path); RFX_Int(pFX, _T("[clrused]"), m_clrused); //}}AFX_FIELD_MAP (3)图像数据库系统中数据库编程的相关消息与函数映象 BEGIN_MESSAGE_MAP(CLianxiView, CRecordView) /{{AFX_MSG_MAP(CLianxiView) // 设置数据库编程的相关消息 与函数映象 ON_BN_CLICKED(IDC_Rec_Add, OnRecAdd) //响应图像添加的消息 ON_BN_CLICKED(IDC_Look_For, OnLookFor) //响应图像检索的消息 ON_WM_PAINT() //}}AFX_MSG_MAP END_MESSAGE_MAP() 22 // lianxiSet.cpp : implementation of the CLianxiSet class IMPLEMENT_DYNAMIC(CLianxiSet, CRecordset) 3.4.3系统数据库相关编程与分析 对图像数据库的操作,实现本系统主要是通过对CRecordSet类编程实现 图库信息的添加,查询,删除,修改等数据库操作。 (1)在数据库中添加新记录相关核心源代码说明 在void CLianxiView::OnRecAdd() 函数中添加语句: if(dlg.DoModal()==IDOK) { m_pSet->MoveLast (); int k; k=m_pSet->m_pictureindex ; k++; m_pSet->AddNew(); //在表的末端增加新记录 ? 给表中记录的对应字段传递值 // m_pSet->m_pictureindex=k; m_pSet->m_content=dlg.m_picturecontent; m_pSet->m_picturename=dlg.m_picturename; ? path=doc->GetPathName(); //获得打开文件的路径 m_pSet->m_path=path; //给表中记录的对应字段m_path传递值 m_pSet->m_clrused=clrused; //给表中记录的对应字段m_blockcolor I(存放主色调)传递值 m_pSet->m_blockcolor1=BnumberSort[1].Bhist; ? //给表中记录的对应字段m_mj I(存放面积大小)传递值 m_pSet->m_mj1=BnumberSort[1].Area; ? m_pSet->Update(); //将新纪录存入数据库 m_pSet->Requery(); //刷新记录集 } /*当用户点击添加按钮后,将弹出添加图像信息对话框,用户键入信息后点击“确定”,将运行以上代码*/。 (2) 删除数据库中指定记录相关源代码说明 在void CPictureImfoDlg::OnRecDel()函数中添加语句: 以下的核心代码主要实现的是从图像数据库中删除一个图像文件。 while(!PictureSet.IsEOF()&&PictureSet.m_picturename!=pictureimfo->pictur ename) 23 PictureSet.MoveNext(); PictureSet.Delete(); //删除表中记录 m_list.DeleteString(nIndex); //删除列表中当前选择项 delete pictureimfo; m_picturename.Empty(); //清空EDIT控件的内容 m_picturecontent.Empty(); UpdateData(FALSE); //当用户点击删除按钮后,将列表框中选中的信息及相应的表中信息删除 (3) 根据库中查询符合特征记录相关源代码说明 在void CLianxiView::OnLookFor()函数中添加语句: 以下语句的功能是使用MFC ODBC的m_strFilter相当于SQL Server语句中的 where的功能。从图像数据库中查找与m_strFilter的条件匹配的数据。 /*判别入列表框中的特征匹配条件:二图综合总距离小于E(E取近似零值 0.00009实验效果较理想)*/ PSet.m_strFilter.Format("blockcolor1-%f<.00009andblockcolor2-%f<.00009 andblockcolor3-%f<.00009",BnumberSort[1].Bhist,BnumberSort[2].Bhist,Bnum berSort[3].Bhist); PSet.Requery(); /*当用户按下查询按钮时,系统将对打开的文件进行查询,每次系统将从 数据库表中第一条记录开始根据对图像处理所得的特征值进行查询,并将查 到的信息在列表及编辑框中显示*/。 (4) 编辑、修改图像数据库信息 以下是编辑、修改图像数据库信息的核心代码: 需在CPictureImfoDlg::OnRecEdit()中添加语句; while(!PictureSet.IsEOF()&&PictureSet.m_picturename!=pictureimfo->pictur ename) PictureSet.MoveNext(); PictureSet.Edit(); PictureSet.m_picturename=dlg.m_picturename; PictureSet.m_content=dlg.m_picturecontent; PictureSet.Update(); m_list.DeleteString(nIndex); //删除当前选择项 m_picturename.Empty(); m_picturecontent.Empty(); UpdateData(FALSE); nIndex=m_list.AddString(dlg.m_picturename); pictureimfo->picturename=dlg.m_picturename; pictureimfo->picturecontent=dlg.m_picturecontent; m_list.SetItemDataPtr(nIndex,new PictureImfo(*pictureimfo)); } 24 } 3.4.4状态栏中显示记录总数及当前记录号源代码分析 在void CLianxiView::OnInitialUpdate()函数中添加语句: //获取记录集中的记录数 while(!m_pSet->IsEOF()) { m_pSet->MoveNext(); m_pSet->GetRecordCount(); } w=m_pSet->GetRecordCount(); // 获得主框架指针 CMainFrame*pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd; //获得主框架中状态栏指针 CStatusBar*pStatus=&pFrame->m_wndStatusBar; if(pStatus) { str.Format("当前记录:%d/总记录:%d",0, w ); //赋字符串给str pStatus->SetPaneText(1,str); //更新第二个窗格的文本 } // 在初始化时,计算图库中记录的种数并将当前记录值定为0,显 示在状态栏中 在void CLianxiView::OnLookFor()函数中添加语句: 在程序查询的循环语句中加入: CRecordsetStatus rStatus; PictureSet.GetStatus(rStatus); //获取当前记录信息 str.Format("当前记录:%d/总记:%d",1+rStatus.m_lCurrentRecord, w ); pStatus->SetPaneText(1,str); //更新第二个窗格的文本 PictureSet.MoveNext(); //移至下一条记录 /*更新状态栏中的当前记录值,若查询到多个记录,显示查到的最 后一个记录位置*/ 25 第 4 章 总结与展望 本系统利用图像数据库系统与基于内容图像检索技术。虽然本系统所使用的算法在注意综合吸收已经实验或理论证明行之有效的基于图像内容的图像检索研究成果基础上,在算法设计中对某些方面作了改进,考虑了算法具体实现技术及可实现性并减少了图像特征占用的存储空间,并相对降低了图像匹配的运算复杂度。虽然达到了课题预期的目标,但是本系统还是有很多地方需要改进。不但在算法上,而且在图像数据库开发的技术上,也有需要改进的地方。 进一步还有许多具体工作可做。在图像数据库开发的技术方面,MFC ODBC虽然能够比较完整的完成本系统的各个功能。但是,相比较其他新的技术来讲,MFC ODBC还是有许多不足的地方。为了解决ODBC开发的数据库应用程序访问数据库的速度慢的问题,Visual C++提供了新的访问技术——OLE DB和ADO,OLE DB和ADO都是基于COM接口的技术,使用这种技术可以直接对数据库的驱动程序进行访问,这大大提供了访问速度。Visual C++提供了OLE技术和ActiveX技术,这种技术可以增强应用程序的能力。使用OLE技术和ActiveX技术可以使开发者利用Visual C++中提供的各种组件、控件以及第三方开发者提供的组件来创建自己的程序,从而实现应用程序的组件化。使用这种技术可以使应用程序具有良好的可扩展性。DAO提供了一种通过程序代码创建和操纵数据库的机制。多个DAO构成一个体系结构,在这个结构中,各个DAO对象协同工作。MFC DAO是微软提供的用于访问Microsoft Jet数据库文件(*.mdb)的强有力的数据库开发工具,它通过DAO的封装,向程序员提供了DAO丰富的操作数据库手段。OLE DB是Visual C++开发数据库应用中提供的新技术,它基于COM接口。因此,OLE DB对所有的文件系统包括关系数据库和非关系数据库都提供了统一的接口。这些特性使得OLE DB技术比传统的数据库访问技术更加优越。与ODBC技术相似,OLE DB属于数据库访问技术中的底层接口。直接使用OLE DB来设计数据库应用程序需要大量的代码。在VC中提供了ATL模板,用于设计OLE DB数据应用程序和数据提供程序。ADO技术是基于OLE DB的访问接口,它继承了OLE DB技术的优点,并且,ADO对OLE DB的接口作了封装,定义了ADO对象,使程序开发得到简化,ADO技术属于数据库访问的高层接口。此外,基于图像内容的图像检索技术涉及多个研究领域,除了要对图像处理和计算机视觉研究外,要使该技术能达到实用的水平,对数据库的管理、数据的组织以及数据的查询方式与效率等,也将是今后要研究和解决的课题。 另一方面,实验平台的功能需进一步加强。例如可增加多特征任意组合、提供多特征综合匹配权值选择等功能。今后,要在增加试验样本图像数和样本图像类别的基础上,进一步验证算法的图像特征提取有效性和查准率。同时,还要继续研究能更为有效的提取和集成图像颜色、纹理、复杂形状及图像语义等多种特征,并引入更为有效的检索过程中的学习机制的算法。以上这些都是本系统今后还需改进之处。 26 参 考 文 献 1、何斌,马天予等.Visual C++数字图像处理.北京:人民邮电出版社, 北京:2001 2、 夏云庆.Visual c++6.0数据库高级编程.北京:北京希望出版社,北 京:2002 3、刘副强,钱建生,曹国清.多媒体图像技术及应用.北京:人民邮电出版 社, 北京:2000 4、方盈.SQL Server2000中文版彻底研究.北京:中国铁道出版社,北京: 2001 、刘忠伟,章鋶晋.十种基于颜色特征图像检索算法的比较和分析. 信号5 处理, 2000,16(1):79-84 6、 金韬,任秀丽.图像检索中颜色特征的提取与匹配.计算机辅助设计与 图形学学报,2000,12(6) 7、 Jacobs C E.Fast multiresolution image querying.Proc. SIGGAPH’ 95,1995 8、 Jain A K,Vailaya A.Image retrieval using color and shape.PR, 1996,29(8) 9、 Mehtre B M,Kankanhalli M S,Narasimhalu A D.Color matching for image retrieval .PRL,1995,16 10、Soffer, A and Samet, H (1996) "Retrieval by content in symbolic image databases" in Storage and Retrieval for Image and Video Databases IV, (Sethi, I K and Jain, R C, eds), Proc SPIE 2670, 144-155) 27 谢 辞 为期数月的毕业设计马上就要接近尾声了。在过去的几个月时间,我觉得我 与SQL Server2000之间配合的在计算机编程方面有了长足的进步。特别是VC++ 编程。这正是由于此次毕业设计的功劳。 图像数据库系统开发。是运用VC++与SQL Server2000来对这项技术进行开发。主要涉及的是数据库的管理和查询。我在完成的过程当中,也遇到了很多的困难。最后还是一一的克服了重重的难题。最终顺利的完成了毕业设计。 在此,首先我要感谢的是我们的导师。在过去的数月时间里,细心耐心的指导我们顺利的完成了此次毕业设计。 此次毕业设计,不但使我对基于图像的检索技术有了一定的了解,而且也使我提高了编程的水平。总而言之,这次毕业设计使我受益匪浅。 28
本文档为【图像数据库系统的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_597436
暂无简介~
格式:doc
大小:185KB
软件:Word
页数:0
分类:工学
上传时间:2017-12-03
浏览量:28