




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南理工大学测绘学院数字摄影测量学教学实验报告(专业必修课)实验成绩:评 语: 指导老师签名: 2012年 月 日实习报告一:点特征提取一、实验的目的与要求通过实习掌握点特征提取的原理、方法和过程,并能用计算机编程实现。二、实验设备1、计算机一台2、立体数字图像3、VC 开发平台三、实验步骤1.编写Forstner点特征提取算子的软件,并进行调试。2.进行BMP数字图像的点特征提取。3.提取结果分析,评价特征点的提取的情况。代码如下:double WINAPI Det(double N, int n)if(n=4)return (N0*N3-N1*N2);elsereturn 0;/计算矩阵N之迹(即对角线元素之和)的值/参数:大小为n的数组、数组宽度/返回值:矩阵N之迹double WINAPI Tr(double N, int w)double sum=0.0;for(int i=0;iw;i+)sum += *(N+i*w+i);return sum;/判断该点是否为初选点/参数:大小为n的数组、数组维数、阈值/返回值:是,返回真;否,返回假BOOL WINAPI Mid(int dg, int n,int T)BOOL flag=FALSE;int i=0,num=0;for(;iT)num+;if(num1)flag=TRUE;return flag;/特征提取的函数(仅对灰度图象)/参数:块图象数据指针或数组、块图象宽、块图象高、局部非最大窗口宽、局部非最大窗口高/返回值:标记特征点位的二值化块图象指针void WINAPI ForstnerCha(BYTE image,BYTE* newimage, int width, int height, int win_w, int win_h)static int T=10;/提取初选点的阈值static double Tq=0.40;/阈值int i,j,l,m,n;/计数器int dg4;/上下左右四个方向的差分绝对值/BYTE* newimage=new BYTEwidth*height;/为保存特征点开辟的数组BYTE t,t1,t2,t3,t4;/替换值变量/提取初选点for(i=0;iheight;i+)for(j=0;jwidth;j+)if(i=0 | j=0 | i=height-1 | j=width-1)*(newimage+i*width+j)=0;/窗口边缘点置零elset=*(image+i*width+j);t1=*(image+(i+1)*width+j);t2=*(image+i*width+(j+1);t3=*(image+(i-1)*width+j);t4=*(image+i*width+(j-1);dg0=abs(t-t1);/向下的差分绝对值dg1=abs(t-t2);/向右的差分绝对值dg2=abs(t-t3);/向上的差分绝对值dg3=abs(t-t4);/向左的差分绝对值/若四个方向的差分绝对值有任意两个大于阈值,为真,否则为假if( Mid(dg,4,T) )*(newimage+i*width+j)=255;/若为真else*(newimage+i*width+j)=0;/若为假float* w=new floatwidth*height;/存放各点权值的数组int k=3/2;double N4;/窗口的灰度协方差矩阵double gu,gv;/像素的Roberts梯度float q;/兴趣值/提取极值点for(i=0;iheight;i+)for(j=0;jwidth;j+)*(w+i*width+j)=0.0;/权值数组各元素置零if(*(newimage+i*width+j)!=0)for(l=0;l4;l+)Nl=0;/灰度协方差矩阵置零for(m=i-k;m=i+k-1;m+)for(n=j-k;nTq)*(w+i*width+j)=(float)( Det(N,4)/Tr(N,2) );/若q大于阈值,计算其权值else*(newimage+i*width+j)=0;int w_h,w_w;int x,y;float dmin;int h_l=win_h,w_l=win_w;int h_k=h_l/2,w_k=w_l/2;/局部非最大提取特征点for(i=0;iheight;i+=h_l)for(j=0;j= width)w_w=width;elsew_w=j+w_l;if(i+h_l = height)w_h=height;elsew_h=i+h_l;x=i;y=j;dmin=*(w+x*width+y);float temp;/选取权值最大点为特征点,其余点置零for(m=i;mw_h;m+)for(n=j;n dmin )dmin=temp;x=m;y=n;if(*(w+x*width+y)!=0)*(newimage+x*width+y)=255;delete w;/return newimage;/返回记录的特征点四、实验结果与体会结果处理如上图所示。通过实习掌握点特征提取的原理、方法和过程,并能读懂别人编的代码,在本次的实习之中我觉得自己懂的东西确实的很少,还得加强努力,相信在不久的将来我也能独立的写出属于自己的代码。实习报告二:影像匹配一、实验目的掌握相关系数影像匹配的原理和基本过程,并能编程实现。二、实验设备1、计算机一台2、立体数字图像3、VC 开发平台三、实验步骤1使用VC+编写基于相关系数进行影像匹配的程序并进行调试。2.进行影像匹配的运算。3. 分析影像匹配结果,和其他函数进行对比,得出匹配质量较好,可以消除灰度的拉伸变化影响,在最小二乘法中可以判断其相关系数,根据其大小进行平差是否。编写代码如下:CPoint CRS_ShuguangView:lufei(unsigned char *imgBuf, int width, int height, unsigned char *blockBuf, int blockW, int blockH)int lineByte=(width+3)/4*4;Cxishu shu;shu.m_xishu=1.0;shu.DoModal();UpdateData(true);/标准图像每行字节数int blockLineByte=(blockW+3)/4*4;/循环变量int i, j, i0, j0;/中间变量,每搜索一个位置记录该位置上的相关性测度,本函数用对应像素差的/绝对值并求和作为相关性测度,所以sum值最小的位置为最佳匹配位置/用min记录具有最小sum的值, 及具有最小sum的位置int minX, minY;/中间变量double mum=0,sum=0,t1, t2; double sum1=0; double mum1=0; double scarce=0,row,mm,max;for(i0=0;i0blockH;i0+)for(j0=0;j0blockW;j0+)t2=*(blockBuf+i0*blockLineByte+j0);sum+=t2;sum/=(blockH*blockW);for(i0=0;i0blockH;i0+)for(j0=0;j0blockW;j0+)t2=*(blockBuf+i0*blockLineByte+j0);sum1=sum1+(t2-sum)*(t2-sum); for(i=0;iheight-blockH;i+=5)for(j=0;jwidth-blockW; j+=5) mum=0; mum1=0;scarce=0;/搜索匹配窗口内的像素,(i0,j0)的步长也可以视情况和需要来定for(i0=0;i0blockH;i0+)for(j0=0;j0blockW;j0+) t1=*(imgBuf+(i+i0)*lineByte+j+j0);/t2=*(blockBuf+i0*blockLineByte+j0);mum += t1; mum/=(blockH*blockW);/for(i0=0;i0blockH;i0+)for(j0=0;j0blockW;j0+) /t1=*(imgBuf+(i+i0)*lineByte+j+j0);mum1+=(t1-mum)*(t1-mum); for(i0=0;i0blockH;i0+)for(j0=0;j0blockW;j0+)/t1=*(imgBuf+(i+i0)*lineByte+j+j0);t2=*(blockBuf+i0*blockLineByte+j0);scarce += (t2-sum)*(t1-mum); mm= sqrt(sum1*mum1); row=scarce/ mm; /第一个搜索区域,此时也是最小sum值的位置if(i=0&j=0)max=row;minX=0;minY=0;else/已经不是第一个搜索位置了if(maxshu.m_xishu)/返回匹配位置CPoint pos(minX,minY
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60364-1:2025 EN Low-voltage electrical installations - Part 1: Fundamental principles,assessment of general characteristics,and definitions
- 【正版授权】 IEC 60072-2:2025 EN Dimensions and output series for rotating electrical machines - Part 2: Frame numbers 355 to 1 000 and flange numbers 1 180 to 2 360
- 基础力量瑜伽课件
- 冬奥志愿服务培训
- 仓储主管培训报告
- 读书分享交流课件
- 课件模板人物主题
- 网络医生技巧培训
- 线描画女孩课件
- 培训生毕业汇报
- 儿童考古小知识课件
- 桩基工程施工总体部署
- nfc菠萝果汁工艺流程
- 《智能电气设计》教案全套 陈慧敏 1-20 软件安装-配电柜门设备安装及布线
- 禁毒预防药物滥用
- 电能质量技术监督培训课件
- 正常血细胞形态学课件
- 股东大会制度法理研究
- 译林版八年级上册英语书后单词默写
- (部编版)小学道德与法治《学习伴我成长》完整版课件
- 六年级六班书香班级申报材料
评论
0/150
提交评论