ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:829.64KB ,
资源ID:4266654      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4266654.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字摄影测量实习报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字摄影测量实习报告.docx

1、数字摄影测量实习报告数字摄影测量实习报告书学 号:20111000684班级序号: 113112-05姓 名: 舒 超指导老师:宋 妍成 绩:中国地质大学(武汉)信息工程学院遥感科学技术系2014年6月目录实习一:Moravec算子点特征提取 31.1 实习目的: 31.2 实习原理: 31.3 实习步骤以及代码分析: 41.4 结果分析: 8实习二:边缘提取算法 102.1 实习目的: 102.2 实习原理: 102.3 实习步骤以及代码: 102.4 结果分析: 12实习总结 13实习一:Moravec算子点特征提取1.1实习目的:用程序设计语言(VisualC+或者C语言)编写一个完整的

2、提取点特征的程序,通过对提供的图像数据进行特征点提取,输出提取出的点特征坐标。本实验的目的在于让学生深入理解Moravec算子原理。通过上机调试程序加强动手能力的培养,通过对实验结果的分析,增强学生综合运用所学知识解决实际问题的能力。1.2实习原理:Moravec角点检测算法是最早的角点检测算法之一。该算法将角点定义为具有低“自相关性”的点。算法会检测图像的每一个像素,将像素周边的一个邻域作为一个patch,并检测这个patch和周围其他patch的相关性。这种相关性通过两个patch间的平方差之和(SSD)来衡量,SSD值越小则相似性越高。如果像素位于平滑图像区域内,周围的patch都会非常

3、相似。如果像素在边缘上,则周围的patch在与边缘正交的方向上会有很大差异,在与边缘平行的方向上则较为相似。而如果像素是各个方向上都有变化的特征点,则周围所有的patch都不会很相似。Moravec会计算每个像素patch和周围patch的SSD最小值作为强度值,取局部强度最大的点作为特征点。1.3 实习步骤以及代码分析:步骤流程图如下:程序实现以及相关关键代码:voidCMy2010302590183cylView:OnMoravec()/读取图像以及相关算法 /TODO:Addyourcommandhandlercodehere CMmoravecDlgdlg; dlg.DoModal()

4、;CMy2010302590183cylDoc*pDoc=GetDocument(); LPSTRm_pDIB=(LPSTR):GlobalLock(HGLOBAL)pDoc-hdib);/得到句柄内存起始地址存放位图数据hdib句柄变量存放BMP位图:GlobalUnlock(HGLOBAL)pDoc-hdib); LPBITMAPINFOm_pBMP;/指向BITMAPINFO结构的指针 m_pBMP=(LPBITMAPINFO):GlobalLock(pDoc-hdib); /获取指向BITMAPINFO结构的指针 :GlobalUnlock(HGLOBAL)pDoc-hdib); in

5、tBitCount=m_pBMP-bmiHeader.biBitCount; DWORDWidth=:DIBWidth(m_pDIB);/获取位图宽 DWORDHeight=:DIBHeight(m_pDIB);/获取位图高 LPBYTElpData=(LPBYTE):FindDIBBits(m_pDIB);/定义字符指针变量,原位图指针 intWidthBytes=WIDTHBYTES(Width*BitCount);/获取字节DWORDpixelCount=WidthBytes*Height; intck1=dlg.c1; intck2=dlg.c2; doubleyz=dlg.m_yuz

6、hi; DWORDr,c; INTh; double*xx=newdoubleWidth*Height; intk; k=INT(ck1/2); for(r=ck1/2;rHeight-ck1/2;r+) for(c=ck1/2;cWidth-ck1/2;c+) doublemin,v4=0.0; for(h=0;hyz) xxr*Width+c=min; bool*bMatrix=newboolWidth*Height; memset(bMatrix,0,Width*Height*sizeof(bool); DWORDx,y; doublemax2; boolb=false; inttemp

7、X(0),tempY(0);for(x=ck2/2;xHeight-ck2/2;x+=ck2) for(y=ck2/2;yWidth-ck2/2;y+=ck2) max2=0; for(DWORDm=(x-ck2/2);m(x+ck2/2);m+) for(DWORDn=(y-ck2/2);nmax2) max2=xxm*Width+n; tempY=m; tempX=n; b=true; if(b) bMatrixtempY*Width+tempX=1; intsum=0;/特征点总数for(DWORDi=0;iHeight;i+) for(DWORDj=0;jWidth;j+) if(bM

8、atrixi*Width+j) *(BYTE*)(lpData+i*WidthBytes+j)=0; *(BYTE*)(lpData+i*WidthBytes+j+1)=0; *(BYTE*)(lpData+i*WidthBytes+j-1)=0; *(BYTE*)(lpData+(i+1)*WidthBytes+j)=0; *(BYTE*)(lpData+(i-1)*WidthBytes+j)=0; *(BYTE*)(lpData+i*WidthBytes+j+2)=0; *(BYTE*)(lpData+i*WidthBytes+j-2)=0; *(BYTE*)(lpData+(i+2)*W

9、idthBytes+j)=0; *(BYTE*)(lpData+(i-2)*WidthBytes+j)=0; sum+; if(sum4000) CStringstrInfo; strInfo.Format(特征点数%dn,sum); MessageBox(strInfo,提示,MB_OK); else CStringstrInfo; strInfo.Format(特征点数较多,请设置合理参数); MessageBox(strInfo,提示,MB_OK); Invalidate();1.4 结果分析:按照提示,对老师所给数据进行分析,当窗口大小设置为5*5,,阈值设置为5000的时候,对右核线

10、影像进行分析,得到特征点43个,同时图像分析,得出如下结果: 调整阈值和窗口大小,程序能够正常运行,且经过测试,结果精确度有较好的保证。实习二:边缘提取算法2.1 实习目的:熟悉Matlab环境下的编程,熟悉边缘提取算法。2.2 实习原理:Sobel算子实现思路如下:对输入图像分别使用水平和垂直模板做卷积计算,对得到的两个处理结果求平方和,该平方和与阈值的平方比较。只有当某点的两种卷积的平方大于阈值的平方,且水平占优(水平模板卷积结果大于垂直模板卷积的结果,且该点的卷积平方大于其左右两点的卷积平方和)或者垂直占优(垂直模板卷积的结果大于水平模板卷积的结果,且该点的卷积平方和大于其上下两点的卷积

11、平方和)时,该点的输出结果为255,否则为0。输出的结果为二值图像。第一行和最后一行本来就是图像边界,不包括可用信息,因此相应的输出为0,按照这个思路课题编写了相应的Sobel算子实现程序2.3 实习步骤以及代码:2.4 结果分析:原图像 sobel边缘提取实习总结本次实习过程中,根据自身实际情况,我选择使用vc环境下的编程完成实习,而没有采用Matlab环境下的编程。在实习过程中,我熟悉了sobel算法以及Moravec算子,在程序调试的过程中,我认识到任何算法都有其局限性,比如说本次实习过程中,sobel算子的边缘提取就将许多的噪音提取了出来,导致边缘特征提取的不准确性。本次实习让我认识到了编程能力的重要性,学会编写基本的代码来实现基本的算法,能让我们摆脱软件已有算法的束缚,更多的按照需要来实现一些步骤。总体来说,本次实习还是很成功的,让我认识到,在以后的学习生活中,我认识到,应该把理论和实践结合起来,多锻炼自己的动手能力,好好把握住每一次实习的机会.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1