立体球的深度图像生成.doc

立体球的深度图像生成.doc

ID:52715872

大小:219.50 KB

页数:5页

时间:2020-03-29

立体球的深度图像生成.doc_第1页
立体球的深度图像生成.doc_第2页
立体球的深度图像生成.doc_第3页
立体球的深度图像生成.doc_第4页
立体球的深度图像生成.doc_第5页
资源描述:

《立体球的深度图像生成.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、立体球的深度图像生成--《深度图像分析》实验报告实验目的:1,练习使用计算机生成深度图像的方法;2,通过编程计算,掌握深度图像,及表面高斯曲率,平均曲率和表面类型标号的概念和计算方法。实验要求:1.产生的图像大小:512×512;2.深度图像数据能够存盘和读取;3.深度数据与图像灰度值相适应,取8位整数,0-255之间;4.深度图像的参考平面取Z=-C,C为球半径。实验原理:立体球的表面公式为:

2、。b5E2RGbCAP表面S在相对于已知的坐标系中的参数形式为:-<1)令,,,,,,为表面单位法向量,那么形状算子矩阵[S]为:5/5-<2)表面的高斯曲率函数K可由式<3)定义:-<3)表面的平均曲率函数H,定义为形状算子矩阵的迹的一半,即:-(4>表面的曲率函数K和H,是形状算子矩阵的两个“固有”的代数不变量,且它们独立于参数化方法。此外,高斯曲率唯一地确定凸表面地形状,而平均曲率在一定的辅佐条件下,可唯一地确定图形表面的形状。式<5)定义了一个符号函数:p1EanqFDPw-<5)可以用它来计算一个表面的类型符号,这种计算在每一点仅基于和,且

3、使用零阀值和,计算方法为:-<6)这样计算出来的表面类型标号为1到9,见下表:K>0K=0K<0H<0T=1峰T=2脊T=3鞍脊H=0T=4无T=5平T=6最小表面H>0T=7凹T=8谷T=9鞍谷将立体球的直角坐标表示成参数形式,即球坐标形式:-<7),为伟度,为经度则:,球表面的高斯曲率函数为:-<8)平均曲率函数为:5/5-<9)由公式(5>,(6>,(8>,(9>可以计算得到球的表面类型标号为1,峰。编程实现:编程步骤:1.运行VC++AppWizard创建一单文档运用程序,在Step6中将视图类的基类选择为CFormView,建立一个对话框与

4、窗口相结合的运用程序。DXDiTa9E3d2.在ResourceView中添加一个对话框,提示输入所要建立深度图像的立体球的半径。3.在程序View类中分别创建新建,保存和打开函数,与工具栏和菜单对应项分别关联。在新建函数中,调用了输入半径的对话框,将用户输入的半径radius保存入一个变量中,然后根据该半径计算平面坐标上各个坐标的深度,并用0-255的灰度值表示,最大深度radius为球的顶点,灰度为255,参考平面上的圆深度为0,灰度为128,最小深度-radius为球的背面顶点,灰度为0,由此一一对应,在运用程序的主窗口上显示,由于参考平面的遮

5、挡,只能画出正面半个球;保存函数中,调用系统的保存函数GetSaveFileName(>,由用户选择保存路径,利用CFile类对象将深度图像以256色位图形式,大小为512×512的格式保存入磁盘中;打开函数中,创建CFileDialog对象,弹出系统的打开文件的对话框,利用CFile类对象打开文件,同时限制了打开文件的类型和大小,只允许打开保存函数中保存的格式,打开文件的同时计算球半径。RTCrpUDGiT4.在ResourceView中对话框:IDD_RI_FORM中添加5个EditBox控件,它们分别表示:球半径,图像深度,高斯曲率,平均曲率和

6、表面类型标号。在ClassWizard中MemberVariables选项建立它们相对应的变量。5PCzVD7HxA5.建立函数CalculateKH(CPointpoint>,计算球表面的高斯曲率函数,平均曲率函数和表面类型标号。jLBHrnAILg6.建立响应windows鼠标移动消息WM_MOUSEMOVE的函数OnMouseMove<),在该函数中主要实现,当鼠标在深度图像上移动时,在图像右侧实时显示出各个坐标点的深度,高斯曲率,平均曲率和表面类型标号。当鼠标不在球体的范围内时,深度,高斯曲率和平均曲率的显示均为0,表面类型标号为5即表示平面

7、。xHAQX74J0X实验结果:如图<1),为编译后的应用程序界面,图中新建了一个半径为140的球体的深度图像,鼠标移动在z=129处。LDAYtRyKfE5/5<1)从图中可以看出高斯曲率随着伟度变化而变化,在伟度为90度时达到最大,平均曲率由半径决定,球表面类型标号为1。Zzz6ZB2Ltk如图<2),半径仍为140,鼠标移动在球体范围之外。<2)从图中可以看到,图像深度,高斯曲率和平均曲率此时都为零,表面类型标号设为5,即表示平面。如图<3),半径为2305/5<3)申明:所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。5/5

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。