基于MATLAB的点特征提取_第1页
基于MATLAB的点特征提取_第2页
基于MATLAB的点特征提取_第3页
基于MATLAB的点特征提取_第4页
基于MATLAB的点特征提取_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于MATLAB点特征提取实习报告实习内容与目的理解影像中每个像素灰度值的概念;理解点特征在灰度方面的特点;掌握常用的点特征提取算子及其对应的点特征提取方法,例如Harris算子°利用MATLAB^件分析任意一种应用于数字图像处理中的边缘检测算子,研究它的提取方法以及实现提取特征点。♦实习原理基本思想:从图像局部的小窗口观察图像特征角点定义:窗口向任意方向的移动都导致图像灰度的明显变化平坦区無:任意方向移动.无灰度变化边塚主沿着药绿方向移动,无灰度变化角点:沿范罷方向移臥明魁灰度变化

平坦区無:任意方向移动.无灰度变化边塚主沿着药绿方向移动,无灰度变化角点:沿范罷方向移臥明魁灰度变化Harris角点检测:数学描述将图像窗口平移[u,v]产生灰度变化E[u,v]由:氏詹卜聪宴十耐一然隔吨十务十琢丁+心曲。負得到:e他v)=£rfn(召切卩a十挪^0(1?,血尸于是对于局部微小的移动量[u,v],可以近似得到下面的表达:E(H.Vf=[u.p]AZ:I其中,M是2*2矩阵,可由图像的导数求得:MuIrly窗口移动导致的图像变化:实对称矩阵的特征值分析

通过M的两个特征值的大小对图像点进行分类:通过M的两个特征值的大小对图像点进行分类:"Edge**/入2入i.HCornernXj和心都较大几数值相当一扯;图佛窗□在所有方向上移动都产土明辰辽眞丈化"Edge"ALA如果M"Edge"ALA定义角点响应函数:R/?二detAf-A[tra€e(A/)]?其中detA/=AjAa,trace(A/)=A;-vHarris角点检测结果如下图所示:三、实习步骤及相尖代码filename=*yuantu2.jpg:X=imread(filename);%读取图像%imshow(X);lnfo=imfinfo(filename);%获取图像相矢信息if(lnfo.BitDepth>8)f=rgb2gray(X);end%《基于特征点的图像配准与拼接技术研究》%计算图像亮度f(x,y)在点(x,y)处的梯度 %fx=[50-5;80-8;50-5];%高斯函数一阶微分,x方向(用于改进的Harris角点提取算法)ori_im=double(f)/255;%unit8转化为64为双精度double64fx=[-2-1012];%x方向梯度算子(用于Harris角点提取算法)Ix=filter2(fx,orijm);%x方向滤波%fy=[585;000;-5-8-5];%高斯函数一阶微分,y方向(用于改进的Harris角点提取算法)fy=[-2;-1;0;1;2];%y方向梯度算子(用于Harris角点提取算法)Iy=filter2(fy,orijm);%y方向滤波%构造自相矢矩阵 1x2=1x42;ly2=ly.A2;仪y』x.*ly;clearlx;clearly;h=fspecial('gaussian,,[77],2);%产生7*7的高斯窗函数,sigma=2Ix2=filter2(h,lx2);Iy2=filter2(h,ly2);lxy=filter2(h,lxy);%提取特征点 height=size(orim,1);width=size(ori」m,2);result=zeros(height,width);%纪录角点位置,角点处值为 1R=zeros(height,width);Rmax=0;%图像中最大的R值k=0.06;%k为常系数,经验取值范围为 0.04~0.06fori=1:heightforj=1:widthM=[lx2(i,j)lxy(iJ);lxy(i,j)ly2(i,j)];%autocorrelationmatrixR(i,j)=det(M)-k*(trace(M))A2;%计算RifR(i,j)>RmaxRmax=R(i,j);end;end;end;%T=0.01*Rmax;%固定阈值,当R(i,j)>T时,则被判定为候选角点T=0.1*Rmax;%固定阈值,当R(i,j)>T时,则被判定为候选角点・・1)&&…・・1)&&…%在计算完各点的值后,进行局部非极大值抑制 cnt=O;fori=2:height-1forj=2:width-1%进行非极大抑制,窗口大小 3*3if(R(i,j)>T&&R(i,j)>R(i-1,j-1)&&R(i,j)>R(i-1,j)&&R(i,j)>R(i-1,j+1)&&R(i,j)>R(i,jR(i,j)>R(i,j+1)&&R(i,j)>R(i+1,j -1)&&R(i,j)>R(i+1,j)&&R(i,j)>R(i+1,j+1))result(i,j)=1;cnt=cnt+1;end;end;end;i=1;forj=1:heightfork=1:widthifresult(j,k)==1;comers1(i,1)=j;corners1(i,2)=k;i=i+1;end;end;end;[posc,posr]=find(result==1);figure,imshow(ori_im);holdon;plot(posr,posc,'r+');»filename='yuantu.jpg';X=imread(filename);%读取图像%imshow(X);lnfo=imfinfo(filename);%获取图像相矢信息if(lnfo.BitDepth>8)f=rgb2gray(X);end%《基于特征点的图像配准与拼接技术研究》%计算图像亮度f(x,y)在点(x,y)处的梯度 %fx=[50-5;80-8;50-5];%高斯函数一阶微分,x方向(用于改进的Harris角点提取算法)ori_im=double(f)/255;%unit8转化为64为双精度double64fx=[-2-1012];%x方向梯度算子(用于Harris角点提取算法)Ix=filter2(fx,orijm);%x方向滤波%fy=[585;000;-5-8-5];%高斯函数一阶微分,y方向(用于改进的Harris角点提取算法)fy=[-2;-1;0;1;2];%y方向梯度算子(用于Harris角点提取算法)Iy=filter2(fy,orijm);%y方向滤波%构造自相矢矩阵 1x2=1x42;ly2=ly.A2;仪y』x.*ly;clearlx;clearly;h=fspecial('gaussian',[77],2);%产生7*7的高斯窗函数»sigma=2Ix2=filter2(h,lx2);Iy2=filter2(h,ly2);lxy=filter2(h,lxy);%提取特征点 height=size(orim,1);width=size(ori_im,2);result=zeros(height,width);%纪录角点位置,角点处值为 1R=zeros(height,width);Rmax=O;%图像中最大的R值k=0.06;%k为常系数,经验取值范围为 0.04~0.06fori=1:heightforj=1:widthM=[lx2(i,j)lxy(iJ);lxy(iJ)ly2(i,j)];%autocorrelationmatrixR(i,j)=det(M)-k*(trace(M))A2;%计算RifR(i,j)>RmaxRmax=R(i,j);end;end;end;%T=0.01*Rmax;%固定阈值,当R(i,j)>T时,则被判定为候选角点T=0.1*Rmax;%固定阈值,当R(i,j)>T时,则被判定为候选角点%在计算完各点的值后,进行局部非极大值抑制 cnt=O;fori=2:height-1forj=2:width-1%进行非极大抑制,窗口大小3*3if(R(i,j)>T&&R(i,j)>R(i-1,j-1)&&R(i,j)>R(i・1,j)&&R(i,j)>R(i-1,j+1)&&R(i,j)>R(i,jR(i,j)>R(i,j+1)&&R(i,j)>R(i+1,j -1)&&R(i,j)>R(i+1,j)&&R(i,j)>R(i+1,j+1))result(i,j)=1;cnt=cnt+1;end;end;end;i=1;forj=1:heightfork=1:widthifresult(j,k)==1;comers1(i,1)=j;corners1(i,2)=k;i=i+1;end;end;end;[posc,posr]=find(result==1);figure,imshow(ori_Jm);holdon;plot(posr5posc/r+,);上面是Harris角点检测的数学推导,通过查阅相尖文献,对Harris角点检测的推导过程进行整理5其简要步骤如下:Harris角点检测器分为三步:梯度计算,矩阵形成和特征值计算。首先,计算x和方向上的平滑(使用高斯函数)梯度来检测给定灰度图像’中的角点,由下面的式子给出:其中,,是平滑参数。计算图像「「的平滑梯度为:G二妙)网匚、砂)

心二叭@,!/)凶训其中,“嚴"表示二维卷积运算。Harris角点检测器依赖于计算一个矩阵(与自相尖函数有尖)由下面的式子给出:其中,2二£力〔Zy{xjjj>eWy.elv叽・EE/□(*n=ifi)『詁八加」从上面的式子可以看出,壬羯,理v和表示平均梯度幅值,矩阵的特征值提供尖于给定位置的边缘的信息。如果给定位置的矩阵的特征值都很大,那么大部分区域均为角点。Harris通过计算响应函数可以避免精确的特征值计算,由下面的式子给出:R=detA—tftracefA)J2其中11 '■11 是可调参数,一般设置在区间〔0.04,0.06〕内。通过判定R大小来判断像素点是否为角点,对于角点,」的值很大;而平坦的区域,的值很小。四♦实习体会利用MATLAB^件可以大大的简化计算,可以直观迅速的得到所需要的结果。MATLAB软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论