欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    计算机图形学课程设计Word格式文档下载.docx

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

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

    计算机图形学课程设计Word格式文档下载.docx

    1、八、代码附录: 111、Robert算子 112、Kirsch 算子 113、GaussLaplace算子 144、矩形变三角形 155、矩形变圆 156、矩形变菱形 167、灰度化 178、反色 179、二值化腐蚀 18计算机图形学课程设计报告一、理论背景图像处理就是对图像信息加工以满足人的视觉心理或应用需求的方法。图像处理方法有光学方法和电子学方法。从20世纪60年代起随着电子计算机和计算技术的不断提高和普及,数字图像处理进入了高速发展时期,而数字图像处理就是利用数字计算机或其它的硬件设备对图像信息转换而得到的电信号进行某些数学处理以提高图像的实用性。图像处理在遥感技术,医学领域,安全领域

    2、,工业生产中有着广泛的应用,其中在医学应用中的超声、核磁共振和CT等技术,安全领域的模式识别技术,工业中的无损检测技术尤其引人注目。计算机进行图像处理一般有两个目的:(1)产生更适合人观察和识别的图像。(2)希望能由计算机自动识别和理解图像。数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域的重要基础,图像处理和分析的第一步往往就是边缘检测。物体的边缘是以图像的局部特征不连续的形式出现的,也就是指图像局部亮度变化最显著的部分,例如灰度值的突变、颜色的突变、纹理结构的突变等,同时物体的边缘也是不同区域的分界处。图像边缘有方向和幅度两个特性,通常沿边缘的走向灰度变化平缓,垂直

    3、于边缘走向的像素灰度变化剧烈。根据灰度变化的特点,图像边缘可分为阶跃型、房顶型和凸缘型。二、课题目的本课题的目的是从理论上对几种经典的边缘检测算法(Roberts算子、Sobel算子、Prewitt算子、Krisch算子、高斯-拉普拉斯算子)进行分析,并用Delphi实现这些算法。最后,通过实例图像对不同边缘检测算法的效果进行分析,找出各种算法的适用范围。通过本课题的研究可以为以后进一步学习数字图像处理打好基础,提高学生的独立工作能力和编程能力。三、系统开发环境开发工具:delphi7操作系统:Microsoft Windows 7主界面:四、经典边缘检测算法分析1、Roberts算子 边缘,

    4、是指周围像素灰度有阶跃变化或屋顶等变化的那些像素的集合。图像的边缘对应着图像灰度的不连续性。显然图像的边缘很少是从一个灰度跳到另一个灰度这样的理想状况。真实图像的边缘通常都具有有限的宽度呈现出陡峭的斜坡状。 边缘的锐利程度由图像灰度的梯度决定。梯度是一个向量,f指出灰度变化最快的方向和变化量。 (1)梯度大小由 (2)确定。而梯度方向则由 (3)因此最简单的边缘检测算子是用图像的垂直和水平差分来逼近梯度算子: (4)因此当我们寻找边缘的时候,最简单的方法是对每一个像素计算出(4)的向量,然后求出它的绝对值。利用这种思想就得到了Roberts算子: (5)其中f(x,y)是具有整数像素坐标的输入

    5、图像。 处理前 处理后(Roberts算子)2、Krisch边缘检测算子根据前面对该算法的分析得到的方法在具体实现中我使用了Kirsch (LPSTR lpDIBBits, LONG lWidth, LONG lHeight)函数。算法实现分为以下几步:(1)(a)设置一个一维数组来保存第一个模板的模板参数,进行第一次模板操作并把得到的图像存在缓存1中。(b)重新设置模板参数,进行模板操作并把得到的图像存在缓存3中。(2)求两副缓存图像的最大值:(a)指向缓存图像1倒数第j行,第i个像素的指针 lpDst1 = (char *)lpNewDIBBits1 + lWidth * j + i; (

    6、b)指向缓存图像2倒数第j行,第i个像素的指针 lpDst2 = (char *)lpNewDIBBits2 + lWidth * j + i; (c)比较得到结果if(*lpDst2 *lpDst1) *lpDst1 = *lpDst2;(3)使用冒泡算法的思想其它的各个模板重复一、二的操作进行比较得到该像素点处理后的最大值为该点的输出值。(4)比较整幅图像的所有像素点。处理前 处理后(Krisch算子)3、 Sobel边缘算子和Prewitt边缘算子 Roberts算子是直观的也是简单的,但是对噪声多的情况显然效果不好。实践中人们做了大量的实践,总结出了一些经验。 Prewitt和Sobe

    7、l分别提出了一个算子,这就是Prewitt算子和Sobel算子。 Prewitt边缘检测算子使用两个有向算子(一个水平的,一个是垂直的,一般称为模板),每一个逼近一个偏导数:(Prewitt模板)如果我们用Prewitt算子检测图像 M 的边缘的话,我们可以先分别用水平算子和垂直算子对图像进行卷积,得到的是两个矩阵,在不考虑边界的情形下也是和原图像同样大小的 M1,M2,他们分别表示图像M中相同位置处的两个偏导数。然后把M1,M2 对应位置的两个数平方后相加得到一个新的矩阵G,G表示M中各个像素的灰度的梯度值(一个逼近)。然后就可以通过阀值处理得到边缘图像。Sobel算子和Prewitt算子的

    8、不同就在于使用的模板不一样:(Sobel模板)这些模板是怎么来的呢?我们假设图像的灰度满足下面这个关系: (1)则梯度是(,) 。显然,当前像素 33 邻域内像素值为: (2)定义垂直算子和水平算子形如:利用这两个模板对当前像素进行卷积,得到的方向导数为 : (4)因此当前像素处的梯度的大小为 : (5)显然要有: 2(2a+b)=1 (6) 如果我们取 a=b=1/6则得到的模板就是1/6乘Prewitt算子;如果我们取a=1/8,b=1/4则得到的就是1/8乘Sobel算子。处理前 处理后(sobel算子)五、图像处理几何变换算法分析1、矩形图像变三角形如下图所示:在这里,我是令矩形的高与

    9、三角形的高相等,矩形的宽与三角形的底边长相等。三角形是以它底边中点为坐标原点,以底边为X轴,方向向右,三角的高为Y轴,方向向上,建立坐标系。矩形是以它的左上角为坐标原点,以宽为X轴,方向向右,以高为Y轴,方向向下。从坐标原点对矩形进行一行一行的扫描,并且同时一行一行的移动给三角形,上图只画了两条扫描线以表示意。二者坐标变换关系如下:X=cos(i*pi/h)*j*w/(2h);Y=j;X,Y是三角形的坐标,i,j是矩形的坐标,w,h分别为矩形的宽与高。其它三种三角形类似分析,具体代码参见附录。 矩形(前) 三角形(后)2、矩形图像变菱形矩形(前) 菱形(后)其实它的原理以矩形变三角形的差不多。

    10、矩形坐标同上,菱形坐标是以它的中心为坐标原点,以左右对角线为X轴,方向向右,以上下对角线为Y轴,方向向上。扫描线方法同上,如上图所示的两条扫描线。二者坐标变换关系为:If j X=-cos(i*pi/h)*(h-j)*w/(2h);X,Y为菱形坐标,其余参数表示同上。具体代码参见附录。3、矩形变为圆及半圆 如下图所示 矩形(前) 圆(后)这里以圆的直径为矩形的宽为例说明。矩形坐标同上,圆的坐标是圆心为坐标原点,以水平直径为X轴,方向向右。以垂直直径为Y轴,方向向上。扫描线如上图所示。r=w/2X=cos(i*pi/w)*(-r)Y=cos(j*pi/h)* (-sqrt(r*r-xx*xx)X

    11、,Y为圆的坐标,其余参数同上。半圆的坐标变换差不多,只是在把Y变为Y= cos(j*pi/2h)* (-sqrt(r*r-xx*xx)即可,X变换与圆一样。4、扩散效果扩散的原理:由于不在边缘的像素点周围都有8个像素点,加上自己共9个像素点,采用随机数产生1-9之间的数,若为1-8就把该像素点代替自己,若为9就不做处理。六、总结本课题从理论上对几种经典的边缘检测算法(Roberts算子、Sobel算子、Prewitt算子、Krisch算子、高斯-拉普拉斯算子)以及几何图形变换的算法(矩形变三角形、矩形变菱形、矩形变圆、矩形变半圆等)进行分析,并用Delphi实现这些算法。通过本课题的研究拓宽了

    12、自己的知识面,为以后进一步学习数字图像处理打下了基础,提高了学生的独立工作能力和编程能力。七、参考文献1.王爱民,赵忠旭,沈兰芬. 基于矢量Prewitt算子的多尺度彩色图像边缘检测方法.中国图像图形学报. 第4卷(A版),第12期1999年12月2.吕俊白. 基于快速Kirsch与边缘点概率分析的边缘提取. 计算机应用. 第21卷2001年2月3.吕俊白. 基于Laplacian算子的一种新的边缘检测方法. 小型微型计算机系统. 第23卷,第9期2002年9月4.王卜堂,杨善林. 基于GaussLaplace算子的灰度图像边缘检测 计算机工程与应用. 2003年2月1、Robert算子pro

    13、cedure TImageProcessForm.RobertClick(Sender: TObject);var/Robert边缘检测程序 x,y:integer; P,p1,p2:pbytearray;begin TestBMP.Assign(WillbeChangedBmp); ProcessedBmp.Assign(WillbeChangedBmp); for y:=0 to TestBMP.Height-2 do begin p:=ProcessedBmp.ScanLiney; p1:=TestBMP.ScanLiney; p2:=TestBMP.ScanLiney+1; for x

    14、:=0 to TestBMP.Width-2 do p3*x:=max(0,max(-p13*(x+1)+p23*x, p13*x-p23*(x+1); p3*x+1:=max(0,max(-p13*(x+1)+1+p23*x+1, p13*x+1-p23*(x+1)+1); p3*x+2:=max(0,max(-p13*(x+1)+2+p23*x+2, p13*x+2-p23*(x+1)+2); end; ChangedBmp.Assign(ProcessedBmp); ShowChangedBmp;end;2、Kirsch 算子procedure TImageProcessForm.Kir

    15、schClick(Sender:var pu,pm,pd ,p1,p2,p3,p4,p5,p6,p7,p8,p:for y:=1 to TestBMP.Height-2 do= ProcessedBmp.ScanLiney; p3: p4: p5: p6: p7: p8: pu:=TestBMP.ScanLiney-1; pm: pd:=1 to TestBMP.Width-2 do begin / 1 方向最大值 p1x*3:=min(255,max(0,(5*pu3*(x-1)+5*pu3*x+5*pu3*(x+1) -3*pm3*(x-1)-3*pm3*(x+1) -3*pd3*(x-1

    16、)-3*pu3*x-3*pd3*(x+1); p1x*3+1:=min(255,max(0,(5*pu3*(x-1)+1+5*pu3*x+1+5*pu3*(x+1)+1 -3*pm3*(x-1)+1-3*pm3*(x+1)+1 -3*pd3*(x-1)+1-3*pu3*x-3*pd3*(x+1)+1); p1x*3+2:=min(255,max(0,(5*pu3*(x-1)+2+5*pu3*x+2+5*pu3*(x+1)+2 -3*pm3*(x-1)+2-3*pm3*(x+1)+2 -3*pd3*(x-1)+2-3*pu3*x-3*pd3*(x+1)+2); / 2 方向最大值=min(255

    17、,max(0,(-3*pu3*(x-1)+5*pu3*x+5*pu3*(x+1) -3*pm3*(x-1)+5*pm3*(x+1)=min(255,max(0,(-3*pu3*(x-1)+1+5*pu3*x+1+5*pu3*(x+1)+1 -3*pm3*(x-1)+1+5*pm3*(x+1)+1=min(255,max(0,(-3*pu3*(x-1)+2+5*pu3*x+2+5*pu3*(x+1)+2 -3*pm3*(x-1)+2+5*pm3*(x+1)+2 / 3 方向最大值=min(255,max(0,(-3*pu3*(x-1)-3*pu3*x+5*pu3*(x+1) -3*pd3*(x-

    18、1)-3*pu3*x+5*pd3*(x+1);=min(255,max(0,(-3*pu3*(x-1)+1-3*pu3*x+1+5*pu3*(x+1)+1 -3*pd3*(x-1)+1-3*pu3*x+5*pd3*(x+1)+1);=min(255,max(0,(-3*pu3*(x-1)+2-3*pu3*x+2+5*pu3*(x+1)+2 -3*pd3*(x-1)+2-3*pu3*x+5*pd3*(x+1)+2); / 4 方向最大值=min(255,max(0,(-pu3*(x-1)-pu3*x-pu3*(x+1) +pd3*(x-1)+pu3*x+pd3*(x+1);=min(255,ma

    19、x(0,(-pu3*(x-1)+1-pu3*x+1-pu3*(x+1)+1 +pd3*(x-1)+1+pu3*x+pd3*(x+1)+1);=min(255,max(0,(-pu3*(x-1)+2-pu3*x+2-pu3*(x+1)+2 +pd3*(x-1)+2+pu3*x+pd3*(x+1)+2); / 5 方向最大值=min(255,max(0,(-3*pu3*(x-1)-3*pu3*x-3*pu3*(x+1) +5*pd3*(x-1)+5*pu3*x+5*pd3*(x+1);=min(255,max(0,(-3*pu3*(x-1)+1-3*pu3*x+1-3*pu3*(x+1)+1 +5

    20、*pd3*(x-1)+1+5*pu3*x+5*pd3*(x+1)+1);=min(255,max(0,(-3*pu3*(x-1)+2-3*pu3*x+2-3*pu3*(x+1)+2 +5*pd3*(x-1)+2+5*pu3*x+5*pd3*(x+1)+2); /6 方向最大值 +5*pm3*(x-1)-3*pm3*(x+1) +5*pd3*(x-1)+5*pu3*x-3*pd3*(x+1); +5*pm3*(x-1)+1-3*pm3*(x+1)+1 +5*pd3*(x-1)+1+5*pu3*x-3*pd3*(x+1)+1); +5*pm3*(x-1)+2-3*pm3*(x+1)+2 +5*pd

    21、3*(x-1)+2+5*pu3*x-3*pd3*(x+1)+2); / 7方向最大值=min(255,max(0,(5*pu3*(x-1)-3*pu3*x-3*pu3*(x+1) +5*pd3*(x-1)-3*pu3*x-3*pd3*(x+1);=min(255,max(0,(5*pu3*(x-1)+1-3*pu3*x+1-3*pu3*(x+1)+1 +5*pd3*(x-1)+1-3*pu3*x-3*pd3*(x+1)+1);=min(255,max(0,(5*pu3*(x-1)+2-3*pu3*x+2-3*pu3*(x+1)+2 +5*pd3*(x-1)+2-3*pu3*x-3*pd3*(x

    22、+1)+2); / 8方向最大值=min(255,max(0,(5*pu3*(x-1)+5*pu3*x-3*pu3*(x+1)=min(255,max(0,(5*pu3*(x-1)+1+5*pu3*x+1-3*pu3*(x+1)+1=min(255,max(0,(5*pu3*(x-1)+2+5*pu3*x+2-3*pu3*(x+1)+2 px*3:=max(max(max(max(max(max(max(p13*x,p23*x),p33*x),p43*x),p53*x),p63*x),p73*x),p83*x); px*3+1:=max(max(max(max(max(max(max(p13*x+1,p23*x+1),p33*x+1),p43*x+1),p53*x+1),p63*x+1),p73*x+1),p83*x+1); px*3+2:=max(max(max(max(max(max(max(p13*x+2,p23*x+2),p33*x+2),p43*x+2),p53*x+2),p63*x+2),p73*x+2),p83*x+2);3、GaussLaplace算子procedure TImageProcessForm.GaussLaplaceClick(Sender:var p,p1,p2,p3,p4,p5:pbytearray ;integer ;


    注意事项

    本文(计算机图形学课程设计Word格式文档下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开