版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Harris角点检测算法编程步骤及示例演示也不说那么多废话了,要介绍啥背景意义之类的,角点检测,顾名思义,就是检测角点,最简单的就是两条线的交点了,还有比如下国际象棋的棋盘格子的交点之类的,反正就是检测这些点。简单将Harris角点检测算法的思想说下,就是拿一个小窗在图像中移动,通过考察这个小窗口内图像灰度的平均变换值来确定角点。(1)如果窗口内区域图像的灰度值恒定,那么所有不同方向的偏移几乎不发生变化;(2)如果窗口跨越一条边,那么沿着这条边的偏移几乎不发生变化, 但是与边垂直的偏移会发生很大的变化;(3)如果窗口包含一个孤立的点或者角点,那么所有不同方向的偏移会发生很大的变化。下面给出具体
2、数学推导:设图像窗口平移量为(u,v),产生的灰度变化为E(u,v),有E(u,v)=sumw(x,y)I(x+u,y+v)-I(x,y)2,其中w(x,y)为窗口函数,I(x+u,y+v)为平移后的灰度值,I(x,y)为平移前的灰度值。有泰勒公式展开可得:I(x+u,y+v)=I(x,y)+Ix*u+Iy*v+O(u2,v2);Ix,Iy分别为偏微分,在图像中为图像的方向导数.因此E(u,v)=sumw(x,y) Ix*u+Iy*v+O(u2,v2)2,可以近似得到E(u,v)=sumw(x,y) Ix*u+Iy*v2,即E(u,v)=u,vIx2,Ix*Iy;Ix*Iy,Iy2u,vT令M
3、=Ix2,Ix*Iy;Ix*Iy,Iy2,因此最后对角点的检测成了对矩阵M的特征值的分析了,令M其特征值为x1,x2;当x1>>x2或者x2>>x1,则检测到的是边缘部分;当x1,x2都很小,图像窗口在所有移动的方向上移动灰度级都无明显变化.当X1,X2都很大时且相当,检测到的是角点。编程时用x1,x2不方便,因此定义角点响应函数;R=det(M)-k(trace(M)2;其中det(M)为矩阵M的行列式,trace(M)为矩阵M的迹。下面给出更具数学公式实际编程的步骤:1.利用水平,竖直差分算子对图像的每个像素进行滤波以求得Ix,Iy,进而求得M中的四个元素的值。M=
4、Ix2,Ix*Iy;Ix*Iy,Iy22.对M的四个元素进行高斯平滑滤波,为的是消除一些不必要的孤立点和凸起,得到新的矩阵M。3.接下来利用M计算对应每个像素的角点响应函数R,即:R=det(M)-k(trace(M)2;也可以使用改进的R:R=Ix2*Iy2-(Ix*Iy)2/(Ix2+Iy2);里面没有随意给定的参数k,取值应当比第一个令人满意。4.在矩阵R中,同时满足R(i,j)大于一定阈值threshold和R(i,j)是某领域内的局部极大值,则被认为是角点。下面给出程序代码:还不错,自己一步步查资料写的,还算详细。function mainclc;clear;close all;%T
5、he coner points extractions using Harris methods;frame=imread('*.jpg');figure(1);imshow(frame);%调用harris角点检测子函数;%输入参数解释:frame为输入图像,7为高斯滤波窗口大小,2为均方差sigma的值,%0,04为推荐的k值,winsize为极大抑制窗口的大小且给参数时为奇数;%输出参数解释:posX为检测到角点X坐标,posY为检测到角点Y坐标,%cnt为检测到角点的个数,Out_Image为输出图像;posX,posY,cnt,Out_Image=conerdetec
6、tion(frame,7,2,0.04,7); %输出的图像已经是2值化的figure(2);imshow(Out_Image);hold on;plot(posX,posY,'ro','MarkerSize',15);disp(cnt);endfunction posX,posY,cnt,Out_Image=conerdetection(frame,GaussWindow,sigma,k,winsize)%ImageData: gracyscale image of input%GaussWindow: The sizes of Gauss window%si
7、gma:The variance%default value%winsize为极大抑制窗口大小Out_Image=frame;ImageData=frame;ImageData= double(ImageData(:,:,2); %ImageData数据矩阵式一个三通道的,我们角点标记只需选择一个可以;%ImageData=im2bw(ImageData,0.5); %或者将3通道的的图像转换成2值化的图像,完成提取;%算法解释:%1:利用水平,竖直差分算子对图像的每个像素进行滤波以求得Ix,Iy,进而求得M矩阵中四个元素的值;%M=Ix*Ix,Ix*Iy;Ix*Iy,Iy*Iyorig_im
8、age=ImageData;fx=-2,-1,0,1,2;Ix=filter2(fx,orig_image);fy=-2;-1;0;1;2;Iy=filter2(fy,orig_image);Ix2=Ix.*Ix;Iy2=Iy.*Iy;Ixy=Ix.*Iy;%2:对M的四个元素进行高斯平滑滤波,得到新的矩阵M;%滤波平滑,消除突出点,得到新的矩阵M;h=fspecial('gaussian',GaussWindow,GaussWindow,sigma); %建立滤波算子Ix2=filter2(h,Ix2); %filter2是用h滤波器放在Ix2移动进行模板滤波Iy2=filt
9、er2(h,Iy2); %消除y方向上的突兀点Ixy=filter2(h,Ixy);%提取前的图像矩阵的预处理;height=size(orig_image,1); %返回图像矩阵的行数给高width=size(orig_image,2); %返回图像矩阵的列数给宽result=zeros(height,width); % 纪录角点位置,角点处值为1 R=zeros(height,width); %创建与图像矩阵大小相同的零矩阵Rmax=0; % 图像中最大的R值 %3:接下来利用M计算对应于每个像素的角点响应函数Cim(即R);%计算公式为:R=det(M)-k*(trace(M)2,其中k
10、为一个任意数,经验选取0.04就可以;%由于k的取值有些太随意,因此,改用此公式,用新的公式定义R:R=det(M)/Tr(M);%即Cim=R=Ix*Ix*Iy*Iy-(Ix*Iy)*(Ix*Iy)/Ix*Ix+Iy*Iy;for i=1:height for j=1:width M=Ix2(i,j),Ixy(i,j);Ixy(i,j),Iy2(i,j); %自相关矩阵 R(i,j)=det(M)-0.04*(trace(M)2; % 计算R值,det()求一个方阵的行列式(Determinant);trace()求方阵的迹,即该方阵对角线上元素之和; if R(i,j)>Rmax R
11、max=R(i,j); end endend%winsize为非极大抑制窗口winr=(winsize-1)/2; %the radius of the neighborhoodistart=winr+1;jstart=winr+1;iend=height-winr;jend=width-winr;cnt=0;for i=istart:iend for j=jstart:jend subr=R(i-winr):(i+winr),(j-winr):(j+winr); %取出winr*winr这块区域里面的的矩阵; subrmax=max(max(subr); if(R(i,j)>k*Rmax)&&(R(i,j)=subrmax) result(i,j)=1; cnt=cnt+1; end endendposY,posX=find(result=1);% %cnt为检测出来的角点的个数;% fig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 虚拟现实技术开发流程精要
- 白内障术后人工晶体植入护理查房
- 精神障碍患者家属的居家护理技能培训
- 2026年无人机植保作业质量验收与农户满意度评价
- 2026年农业机器人投资赛道独角兽预备军企业研判
- 2026年丘陵山区适用农机装备研发与应用推广方案
- 2026年算力资源节点评估指标体系:鹏城实验室国家信息中心牵头研制
- 护理管理的沟通技巧
- 护理课件知识体系评价
- 环境大数据综合应用平台建设方案
- 2026年六安职业技术学院单招职业适应性考试题库及答案详解(新)
- 2026年大学生寒假社会实践报告(一)
- 2025年6月英语六级真题及答案-第2套
- (2026春新版)北师大版三年级数学下册全册教案(教学设计)
- 2026年及未来5年市场数据中国福建省乡村旅游行业发展监测及投资战略规划报告
- GB/T 46992-2025可回收利用稀土二次资源分类与综合利用技术规范
- 2026年公务员申论预测模拟题与答题技巧
- 2026浙江杭州萧山区公安分局招聘警务辅助人员5人备考题库(含答案详解)
- 融合多传感器技术的校园田径运动会智能成绩采集系统设计课题报告教学研究课题报告
- 2025年铁路南昌局融媒体笔试及答案
- 劳务外包员工告知书
评论
0/150
提交评论