首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

西北大学本科生毕业论文

2021-08-23 来源:华佗小知识
【精品文档】

成绩 本科毕业论文(设计)

题目:文物图像矢量化的研究及实现

学生姓名 王 汉 达 学 号 20*****79 指导教师 赵 宏 安 院 系 软件学院 专 业 软件工程 年 级 2008 级

教务处制 二○一二年六月

【精品文档】

诚信声明

本人郑重声明:本人所呈交的毕业论文(设计),是在导师的指导下独立进行研究所取得的成果。毕业论文(设计)中凡引用他人

已经发表或未发表的成果、数据、观点等,均已明确注明出处。

除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或在网上发表的论文。

特此声明。

论文作者签名: (手写签名)

日 期: 2012年6月5日

【精品文档】

目录

摘 要 ................................................... 2 Abstract .................................................. 3 序 言 ................................................... 4 1 图像矢量化概述 ......................................... 5

1.1目的及意义 ................................................... 5

1.2 实现工具及方法研究 .......................................... 5

2 图像矢量化算法概述 ..................................... 7

2.1 霍夫变换产生矢量图 .......................................... 7 2.1.1 霍夫变换原理 .............................................. 7 2.1.2 霍夫变换算法思想描述 ...................................... 7 2.2 选择区域及曲线拟合 .......................................... 8 2.2.1 曲线拟合思想及方法描述 .................................... 8 2.2.2曲线拟合算法流程图 ........................................ 11

3程序流程及实验结果分析 ................................. 12

3.1实验结果演示 ................................................ 12 3.1.1 选取图片 ................................................. 12 3.1.2 显示原图 ................................................. 13 3.1.3 转换为灰度图像 ........................................... 13 3.1.4 进行hough变换得到hough矢量图 ........................... 14 3.1.5 通过原图与hough图对比选择感兴趣区域 ..................... 14 3.1.6 拟合结果 ................................................. 15 3.1.7 hough图与区域拟合结果综合图 .............................. 15 3.2 实验结果分析 ............................................... 16 3.3矢量化后的结果数据格式及保存方法 ............................ 16

4 总结与展望 ............................................ 17

4.1对于矢量化图像学习及实现过程的总结 .......................... 17 4.2 对于本次实验所做的思考和今后可能对其的深化研究 ............. 17

参考文献 ................................................ 17

-----WORD格式--可编辑--专业资料-----

摘 要

实验采用了MALAB为主要开发环境,调用了其中一些库函数对图像进行选择、读取、霍夫变换、转换灰度、区域确定、逻辑二值化、曲线拟合等操作,得到了经由霍夫变换所得的矢量图。并对于曲线拟合的思想进行了阐释并以其作为图像区域选择矢量化的理论基础,实验达到了对图像进行霍夫变换并通过其与原图对比在图像上用户感兴趣的区域选择后进行矢量化的目的。

文中对MATLAB的库函数在图像矢量化过程中起到的作用给出了说明,对图片的区域选择进行了具体的操作并给出了理论支持,详细描述了图像矢量化算法,并对曲线拟合思想及最小二乘的拟合方法进行了深刻地思考及合理地应用,然后对于实验流程及成果做出了展示。实验达成了对用户选择区域进行矢量化的目的,验证了曲线拟合算法在图像矢量化过程中能够起到的作用,并对得到的成果进行了总结与思考,确定了今后的努力方向。

关键词:矢量化图像; 霍夫变换;图像区域选择; 曲线拟合算法;

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

Abstract

Experiment MALAB as the main development environment, call some of these library functions to select the image, read, Hough transform, convert grayscale region to determine the operation of the logic of two values, curve fitting, etc., via

Hoftransformobtained from Vector. Explained the idea of curve fitting and its theoretical basis of thevector of the selected image area, the experiment has reached the Hough transform andthe image area selection on the image of interest to users through its contrast with theoriginal the purpose of vectorization.

Given the role played by the MATLAB library function in the image vectorization processdescribed in the specific operation of the image area selection, and gives theoretical support, a detailed description of the image vector algorithm, and curve fitting togetherideas and least squares fitting method of deep thinking and application, and then makea show for the experimental procedure and results. The experiment reached a vector ofthe purpose of the user selected area, verify that the curve fitting algorithm for the role it plays in the image vectorization process, and the obtained results are summarized andthinking to determine the direction of future efforts.

Keywords: vector images; Hough transform; the choice of the image area; curve fittingalgorithm;

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

序 言

计算机中的图像一般可以分成两大类,位图和矢量图。

位图是由称作像素(图片原素)的单个点组成的,这样当对图片进行放大和旋转时,由于像素点放大的原因,图片容易失真,在进行一些需要详细描绘图片的工作时,不容易得到用户想要的效果。解决这个问题的方法就是尽量用多的像素构成图片,图片需要描绘的越清晰详细,便需要越大的内存。这样的文件占用的存储空间过大,给一些需要对图像进行保存查阅的如工程图纸领域造成了不便。

而由于矢量图像是由数学向量构成的,可以通过公式计算获得,并且使用直线和曲线来描绘图形,所以进行放大、缩小、旋转等操作时不会发生失真,需要进行与位图同等要求的描绘时效果当然会优于位图。并且矢量图占用空间极小,往往只是位图的几分之一,矢量图形之间也可以进行透明叠加,有利于揭示图形之间的内在关系;对图形可以进行无级放大或缩小,也可以拖拉图形,使图形漂移浏览,对图形可以方便地再编辑,并可以对其进行赋值和标注等;可以方便地建立起图形数据库,对图形进行操作、分析和管理等。

鉴于矢量图对于位图所具有的优势,在某些领域需要用到位图矢量化,本文主要研究如何使用MATLAB对于图像上用户感兴趣的区域进行简单的矢量化操作。

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

1 图像矢量化概述

1.1目的及意义

图形在计算机中的表示,通常有两种方式,一种是光栅点阵的形式(raster graphics),另一种是用矢量的形式(vector graphics)。[1]

光栅点阵是以像素点的形式对图片进行存取,在图片的操作中会占用较大的存

储空间,并且不利于对于图片的放大、缩小、旋转、修改等操作,这对图像的分析、处理、存储与传输带来了极大的不便。而矢量图形是由数学方法计算得来,图形由线条和形状组成,对其进行与光栅点阵相同操作时只需要改变图形参数即可。因此,对矢量图形进行图形变换十分方便。矢量图形特点如下:

1. 边缘平滑、明显 2. 图形编辑后不变形 3. 节省存储空间

4. 对于某些图形变换速度快

5. 存储为矢量图像的文件在转换为光栅图像时手段方便

基于矢量图形的这些优点,在许多领域中都用到了矢量图形,也就应用到了图像矢量化的技术。它是利用计算机图形学,数字图像处理等综合技术,运用图像处理软件,将光栅图像识别为矢量图形。

1.2 实现工具及方法研究

图形矢量化可以运用多种方法实现,应用于图像矢量化处理的软件也多种多样,这里采用MATLAB在读入图片后将用户选择的区域进行矢量化,主要用到MATLAB中的读取图片函数、霍夫变换函数、区域选择函数、曲线拟合函数等。

1.3 程序流程图

在使用MATLAB进行图像矢量化过程中调用了多种库函数实现对图像的处理,对图像进行hough变换和曲线拟合编写了算法进行实现,具体程序流程如下页图1.1所示。

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

流程图1.1 矢量化图像程序流程演示图

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

2 图像矢量化算法概述

2.1 霍夫变换产生矢量图

2.1.1 霍夫变换原理

Hough变换是一种使用表决原理的参数估计技术。其原理是利用图像空间和Hough参数空间的点-线对偶性,把图像空间中的检测问题转换到参数空间。通过在参数空间里进行简单的累加统计,然后在Hough参数空间寻找累加器峰值的方法检测直线。Hough变换的实质是将图像空间内具有一定关系的像元进行聚类,寻找能把这些像元用某一解析形式联系起来的参数空间累积对应点。在参数空间不超过二维的情况下,这种变换有着理想的效果。

对于广义的hough变换作者是这样理解的:一个对象通常有一组特征向量空间f=[...f_i,..]来描述。比如说直线就可以用[k, b](f)这组向量空间来描述。如果我们确定向量空间的范围和步长。我们就定义了hough变换的一个关键要素:功能累加器 。在检测当中我们会捕捉到对应于某组对象的映射,比如说直线hough变化, 在图像上的某一个点就是对应于 一组直线的映射,也可以说是该点可能在这组直线上。捕捉到这个映射之后,这组对象在相应的功能累加器上就累加1(比如说一组直线对应于累加器上相应的若干(k, b)格点,在图像上捕捉到这组直线可能所在的某一点映射后,累加器相应的格点要累加1)。最后我们要计算累加器上的局部最大值。根据这些局部最大值就能够确定被检测的对象。 2.1.2 霍夫变换算法思想描述

matlab中实现hough直线检测用到了3个函数,分别是hough、houghpeaks和

houghlines,三者也是按照这个顺序出场的。hough函数的作用就在于在一个离散的“RT空间”上完成累积,离散是一种无奈,因为我们的计算有限制,也是一种“相应的便利”,因为原图像素也是离散的,RT空间的离散导致四舍五入,才可能对离散的原图像素点累积出可能的直线;接着是houghpeaks,它主要是用来找出“RT模版”上累积出来的几个最大的累积值,从而确定最可能是直线的直线,matlab在这个函数中加入了累似图像“非极大抑制”的处理,如果一个很小的RT区域中出现几个很大的累积点,那么会留下最大的一个舍弃其他的,这样的作用反应到原图上,我觉得应该是对较粗的直线起到防止反复检测出几条平行或者相交的直线来;最后是houghlines,这个函数得到真实的直线,它一方面考虑到“直线最小间隙”,另一方面考虑到“直线最小长度”。

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

通过对这3个函数中参数的确定,可以实现对原图中直线的检测并显示成果,将原图变换为由无数起点和无数终点所确定的无数有向直线。

图2.1 经由hough变换所得结果图

由变换图可以发现,原图已经转换为了由许多直线构成的图形,然而图形并非由连续的线条组成,如果需要得到连续的、平滑的线条,就需要用到曲线拟合的方法。

2.2 选择区域及曲线拟合

在hough图中选择区域转化为拟合曲线图,这里作者是根据曲线拟合思想使用工具MATLAB实现的。

建立一个循环,将选择区域中最左端为1的点的X坐标记为imin,最右端为1的点的X坐标记为imax,将两点之间的所有值为1的点循环存入数组,然后对这些点进行接下来的多项式计算。

由于在原图上存在较多的数据点,X所对应的Y的坐标不止一个,图像元素为多个离散的点而不是一条确定的向量,所以是无法进行图像矢量化的。这里即需要运用到曲线拟合思想。

2.2.1 曲线拟合思想及方法描述

在这里要引入一个骨架的概念,即在图像点集S上有一点P,其到S边界B上

某一点的距离比它到B上其他任何点的距离都短,则点P到边界B上这一点的向量被称作S的骨架。将图像的所有骨架确定出来,即可达成对图像的矢量化。

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

那么如何找出图像的骨架呢,这时就要用到曲线拟合的思想。将图像上的数据

点用坐标表示出来,并令其满足一个多项式函数,当这些数据点的误差平方和最小时,这时用数据点拟合出来的曲线为最佳曲线,这样就找出了一个图像区域的骨架。

在MATLAB中实现这一目的需要调用的是polyfit函数,即多项式拟合函数。

它的大致原理是:

给定一组数据,根据最小二乘原理,求得变量x和y之间的函数关系f(x,A),

使其最佳地逼近或拟合已知数据,f(x,A)称为拟合模型。

若f(x,A) = a0+a1x+…+amxn,则称其为多项式拟合, A=(a1,a2,…an)是一些待

定参数,令f*(x)满足公式[1]:

[1]

ω(xi)≥0,称为权,假设个数据点的权为1,令拟合模型与实际观测值在各点的残差最小,得方程组如图2.2

图2.2 多项式拟合法方程及推导

由此矩阵方程组解出系数向量A,即得多项式f(x,A) = a0+a1x+…+ anxn ,当n取较大的值时,法方程的解的舍入误差较大,这样拟合就没有意义,因此,n不宜取值过大。

这样可以通过在polyfit函数中输入参数来决定多项式的次数,作者在拟合过程中传入的是3次拟合多项式。如图2.3是简单坐标系中的散点拟合曲线图

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

图2.3 散点拟合曲线图

曲线拟合可以得到f(x,A),这是在原图观测结果基础上经过对横坐标X的数学计算得到的每一个横坐标X只有唯一的纵坐标Y与之对应的拟合模型。然后将之显示在坐标系中,确定三个窗口,令其分别显示原图、坐标系中的拟合曲线以及拟合对图像的拟合结果。

通过对原图、hough图、拟合曲线图三者的展示,更能够加深对图像矢量化的理解。位图转换为矢量图形,并加以进一步的优化处理,这也是对于图像进行矢量化描述的比较基础的方法。

如下页图2.4是对原图中选择区域的曲线拟合结果图。

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

图2.4 对原图中选区拟合曲线图

由图2.4可以看出,图中曲线平滑连续,相较与hough变换图对于图像的矢量化描述更加良好。

在整个矢量化过程中调用到了MATLAB中的多种函数实现对图片的处理工作,实现矢量化的手段中应用到了多项式拟合的数学思想,对于图像上的离散点转化为唯一向量给出了解决办法。 2.2.2曲线拟合算法流程图

在程序中运用曲线拟合思想进行图像矢量化需要用到整幅图像矩阵中,应确定矩阵中已存的图像坐标,建立循环将所有点的坐标依次进行多项式拟合计算,计算后通过建立坐标系观察拟合结果,最后将拟合曲线存入图像矩阵中。

程序具体流程图如下页图2.4。

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

图 2.4 曲线拟合算法流程图

通过对算法思想的确定和实现,实现了曲线拟合的目的。

3程序流程及实验结果分析

3.1实验结果演示

3.1.1 选取图片

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

图3.1 选择图像过程

3.1.2 显示原图

图3.2 显示原始图像

3.1.3 转换为灰度图像

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

图3.3 转换所得灰度图像

转换为灰度图像后调用logical函数进行对图像的二值化,设定阀值为0,将灰度图像中亮度为0的点设为0存入矩阵,将亮度不为0的点设为1存入矩阵。 3.1.4 进行hough变换得到hough矢量图

图3.4 由直线表示的hough矢量图

经hough变换后的图像相较于原图更简单,去掉了多余的离散点,整体右直线构成描述。

3.1.5 通过原图与hough图对比选择感兴趣区域

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

3.5 在原始图像上选择区域

3.1.6 拟合结果

图 3.6 显示原图所选区域拟合曲线

对选区进行多项式你和运算得出的矢量曲线,描述效果优于hough图。 3.1.7 hough图与区域拟合结果综合图

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

图 3.8 hough综合图,图中框选区域可见拟合曲线

3.2 实验结果分析

以上对于实验的结果给出了演示,选择图像、图像灰度转换、逻辑二值化图像、

对图像进行hough变换、在图像上选择区域、使用多项式拟合算法进行曲线拟合、在窗口上显示拟合曲线结果等功能基本得到了实现,基本达到了图像矢量化的目的。

不过算法仍然有待进一步优化,一般选取区域应为离散点较为集中的单一区域,

这样拟合出的矢量曲线可以大体描绘原图的结构方向,否则拟合出的曲线可能与原图差异较大。

3.3矢量化后的结果数据格式及保存方法

对于MATLAB中图像的存储方法大约有四种,这里采用saveas函数进行对实验所得图像的存储,存储格式为eps格式,这是一种采用矢量描述的图片格式,可以在Adobe Illustrator 打开。

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

4 总结与展望

4.1对于矢量化图像学习及实现过程的总结

本文以hough变换和曲线拟合为理论思想基础,以MATLAB为实现环境,进

行了图像矢量化的初步研究及简单实现。

首先阐述了图像矢量化的概念及意义,明确了选题的目的。接着介绍了实现图

像矢量化的程序流程。继而描述了hough变换的原理思想并进行了应用,学习和研究了曲线拟合的方法和数学思想,对于多项式拟合手段加深了理解。最后给出了实验结果演示和存储方法及对其的分析和思考。

4.2 对于本次实验所做的思考和今后可能对其的深化研究

作者在完成图像矢量化的过程中对于图像矢量化的概念和意义有了更全面的理解,对于hough变换算法及曲线拟合算法投入了比较大的精力,对其的认识更加深刻,在实现过程中也对算法的不足进行了思考,由于作者在实验中运用到了曲线拟合的方法对图像选取区域进行实现矢量化,所以并未在hough变换中使用骨架识别方法,并且本文论述的算法对于图像上较小区域的拟合结果优于对较大区域的拟合结果,所以作者对于将位图分割矢量化然后再组合成为一个完整矢量图的手段做了一些查询和搜索工作,推测可以借鉴SVG图像的存储结构进行实现,在今后的学习过程中会对这方面加以重视和深化研究。

参考文献

[1] 霍宏涛. 数字图像处理. 北京: 北京理工大学出版社, 2002: 1~50 [2] 朱学芳, 智文广. 计算机图像处理导论. 北京: 科学技术文献出版社, 2003:1~100

--完整版学习资料分享----

-----WORD格式--可编辑--专业资料-----

[3] 孙即祥. 图像处理. 北京: 科学出版社, 2004: 1~150

[4] T. Pavilidis. An asynchronous thinning algorithm. Computer graphics and Image Processing, 1982, 20: 133~157

[5] C. J. Hilditch. Linear Skeletons From square Cupboards. Machine Intel, 1969, 4: 403~420

[6] 杨薇薇, 陈志冲. 工程图纸并行矢量化算法的研究. 华中理工大学学报, 1998,26(11): 16~18

[7] Dori D, Liang Y, Dowell J, et al. Sparse-pixel recognition of primitives in engineering drawings. Machine Vision and Applications, 1993(6): 69~82

[8] 王金鹤, 欧宗瑛, 夏晓东. 工程扫描图像的骨架提取和识别技术综述. 计算机工程, 1999, 25(6):3~16

[9] X Lin, S Shimotsuji, M Minoh, et al. Efficient Diagram Understanding with Charactenstic Pattern Detection. Computer Vision, Graphics and Image Processing,1985, 30: 84~106

[10 ]Rafael C. Gonzalez, Richard E. Woods. 数字图像处理(第二版). 阮秋琦, 阮宇智等译. 北京: 电子工业出版社, 2003:1~200 [11] 维基百科. Image vectorization.

--完整版学习资料分享----

因篇幅问题不能全部显示,请点此查看更多更全内容