0简单几何图形的识别和编辑
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1 概述 (1)
1.1引言 (1)
1.2在工程图的识别中常用的方法 (1)
2工作基础与工作环境 (4)
2.1数字图像处理技术 (4)
2.1.1 图像处理的基本内容 (4)
2.1.2 主要的图像处理技术 (4)
2.2图像格式-BMP格式 (5)
3 算法及数学基础 (8)
3.1霍夫变换(H OUGH T RANSFORM) (8)
3.1.1霍夫变换识别直线 (8)
3.1.2 霍夫变换识别圆 (9)
3.2基于单义域的直线及圆识别算法 (10)
3.2.1多义域的获得 (10)
3.2.2 最小二乘法拟合直线和圆 (11)
3.2.3 多义域分裂和单义域的识别 (12)
3.2.4 总体整合,识别直线和圆 (12)
3.3 主要技术 (13)
3.3.1 Borland C++ Builder (13)
3.3.2 虚类及虚方法的使用 (13)
4 直线和圆的识别和编辑的实现 (14)
4.1系统的层次结构的图示 (14)
4.2系统数据结构及类的设计 (15)
4.2.1主要类的层次结构 (15)
4.3图形基类(CS HAPE) (15)
4.3.1描述 (15)
4.3.2实现 (16)
4.4图形类(CL INE、CC IRCLE) (17)
4.4.1 描述 (17)
4.4.2 实现 (18)
4.5图形容器类(CS HAPES) (20)
4.5.1描述 (20)
4.5.2实现 (20)
4.6点类(CP OINT) (20)
4.6.1描述 (20)
4.6.2实现 (20)
4.7单义域类(CS EGMENT) (21)
4.7.1描述 (21)
4.7.2实现 (21)
4.8基于单义域识别类(CS EGMENTS) (22)
4.8.1描述 (22)
4.8.2实现 (22)
4.9霍夫变换识别直线类(CHTL INE) (23)
4.9.1描述 (23)
4.9.2实现 (23)
4.10夫变换识别圆类(CHTC IRCLE) (23)
4.10.1描述 (23)
4.10.2实现 (23)
5 主程序实现 (26)
5.1基于霍夫变换下的识别 (26)
5.2基于分区-联合下的识别 (27)
6 结束语 (31)
致谢 (32)
参考文献 (33)
附录 (34)
1 概述
1.1 引言
计算机技术的发展,使人类社会进入了信息化和自动化,计算机智能识别也随着计算机的发展得到了迅速的发展。特别是图形图像的计算机处理技术更是有了前所未有的进步和应用。计算机识别也逐渐的从图形图像处理的大环境下分离出来作为一门新的高科技研究领域出现。图形图像的识别涉及到的学科很多,包括数字信号处理、工程数学、信息论、运筹学、等,它与计算机、自动化、生物学、关学、视觉心里和生理学、人工智能、智能信息处理等众多领域交叉、综合集成,有广泛的应用。
本论文实现的是基础的图形识别,bmp图像文件格式中对图形的矢量化。识别基本的图元直线和圆。直线和圆是二值图像中最基本的组成元素,也是最常见的图形元素。在工程图的数字化识别中有很大的应用。
关于理想情况的几点说明:
1.所识别的bmp图像文件是经过处理的,没有“噪音”等,在本论文中
直接采用的是用Windows中的画图软件画出的图像。
2.本论文中图像中的图元都是单一的线性,即线宽是一个象素的情况。
1.2 在工程图的识别中常用的方法
图形的识别最主要的是图形特征的提取,在这个阶段,常用的方法是全局特征方法(包括:不变距,自回归模型、傅立叶描述符、霍夫变换等),全局特征的特征提取方法是理论比较完善的,计算过程比较清楚。针对不同的特征提取处理,采用相对应的模式匹配方法来将图形分类,模式识别迄今已有很多方法,有模板匹配、统计模式识别、句法模式识别、模糊识别和神经网络识别等。
在二值图像的处理中,人们常用的数据结果有游程编码-考虑了扫描行上相邻象素间的相关性;行相邻图法(Line Adjeceney Gragh),是由Pavlidis提出的一种二值图的数据结构,LAG还考虑了相邻行黑游程之间的相邻关系,遍历时很方便;BAG(Bloek Adjeceney Gragh)是由余斌提出的,它是相邻图LAG 在两个方向上的推广。在本论文中就是利用了LAG的数据结构思想与c++
builder的数据结构相结合的方法即:用下一个象素点是与链表头相邻还是和尾相邻来描述其相邻的关系。
本论文中对交点的处理。目前对交点的处理有下面几类算法:
1.基于网格算法,该算法是通过网格加大搜索步长来跳过交点。
2.基于图段合并的算法,是根据交点处行程段的连通性,以交点为界将
图线分割成图段,记录各段之间的连接及从属关系,然后连接或延长
各分支图段,然后得到整条图线。
在本论文中采用了第二种方法,基于图段合并的算法。
当然现下有很多更好的算法和数据结构,但是大部分是针对具体的结构或者研究方向不具有一般性,所以本论文的实现用了上述的数据结构和方法。
2工作基础与工作环境
2.1 数字图像处理技术
将客观世界实体或图片等通过不同的量化(数字化)手段送入计算机,由计算机按使用要求进行图像的平滑、增强、复原、分割、重建、编码、存储、传输等种种不同的处理,需要时把加工处理后的图像重新输出,这个过程称为图像处理。因此,图像处理的含义是用计算机对图像进行加工处理以得到某种预期的效果,它本质上是一种二维数字信号处理技术。
2.1.1 图像处理的基本内容
图像处理的基本内容可以归结为:
1.对图像进行增强或修改。
以改变或强调图像信息的某些特点(增强有用信息,无用信息),改善图像的视觉质量;
2.描述图像的特征并进行特征抽取和分析。
例如提取图像的纹理特征、频谱特征、边界特征和颜色特征等;对像素用某个标准衡量并进行分类比较,将抽取的特征归结为一定的模式,这属于模式识别的范围;
3.图像的重建(Reconstruction)。
对图像的某些部分合并或进行重新组织,这种技术是从N—1维的信息用某种算法得到N维的图像,例如计算机视觉就是这样的一种技术。
2.1.2 主要的图像处理技术
3.1.1 2.1.2.1 图像的增强和恢复
图像增强所追求的目标是改善图像的视觉质量,符合人们的主观要求,它不追究图像客观质量的降低原因。图像的视觉质量是因人而异的,其质量的高低和好坏受观看者的心理、爱好和文化素质等因素的影响。图像的恢复则致力于探索图像质量降低的原因,并尽可能消除图像质量的降低,恢复图像的本来面目。