利用Moravec算子提取特征点实现过程分析
moravecs算子
电脑知识与技术研究开发
利用Moravec算子提取特征点实现过程分析
王舒鹏,方莉
(武汉大学遥感信息工程学院,湖北武汉430079)
摘要:点特征是图像的重要特征,在图像处理中具有计算量小,不丢失灰度信息等种种优点。针对点特征的提取,主要介绍一种著名的点特征提取算子———Moravec算子的特征提取原理及其提取过程的程序实现方法,最后给出了效果图及效果分析。
关键词:点特征;特征提取;Moravec算子
文献标识码:A文章编号:1009-3044(2006)26-0125-02中图分类号:TP312
TheAnalysisoftheImplementProcessofMoravecOperator
WANGShu-pen,FANGLi
(SchoolofRemoteSensingandImformationEngineering,WuhanUniversity,Wuhan430079,China)
Abstract:Pointcharacterisanimportantimagecharacter.Ithasthevirtureoflittlemountofaccountandnoloseofdimensionalintensityinformation.Aimedatthepick-upofpointcharacter,theauthormainlyintroduceafamousarithmeticoperators-Moravecoperator.Thearticlewillintroducetheprincipleoftheoperatorandhowtorealizeit.
Keywords:pointcharacter;thepick-upofcharacter;Moravecoperator
1引言
点特征是图像的重要特征,在各种图像特征中,它具有旋转不变性和不随光照条件变化的优点。一些图像处理中利用点特征进行处理既可以减少计算量又不会损失重要的灰度信息。在图像匹配中点特征也有很重要的应用,利用点特征可以大大提高匹配速度。在实现摄影测量自动化和遥感影像匹配中,点特征也有很重要的应用。针对点特征的提取的算子也有很多,Moravec算子就是其中很著名的算子之一,很多后来提出的点特征提取算子都是在它基础上进行改进得来的。
2利用Moravec算子提取特征的原理
理论上,特征是影像灰度曲面上的不连续点。在实际影像中,由于点扩散函数的作用特征表现为在一个局部小区域内灰度的急剧变化或灰度分布的均匀性,也就是局部区域中具有较大的信息量。因此,可以以每个像元为中心,取一个n*n像素的窗口,计算窗口中的局部熵,若局部熵大于给定的阈值,则可以认为该像素即为一个特征。
如果不考虑噪声,实际影像是理想灰度函数与点扩散函数的卷积,其点特征灰度的分布均表现为从小到大或从大到小的明显变化,因此除了用局部信息量来检测特征外,还可以利用特征提取算子对各个像素的某一大小的邻域窗口进行差分运算,选择其中的极值点或超过阈值的点作为特征点。
正是基于以上思想,Moravec于1977年提出了利用灰度方差提取点特征的算子。首先,计算每个像元的兴趣值,即以该像元为中心,取一个w*w的影像窗口,计算0度,45度,90度,135度四个方向的灰度差平方和,取其中最小值为该像元的兴趣值。其次,根据实际影像设定一个阈值,遍历影像以兴趣值大于该阈值的点为候选点。最后,选一个一定大小的影像窗口,让该窗口遍历灰度图象,在此过程中取窗口中兴趣值最大的候选点为特征点,算法结束。
图1程序流程图
//size1是一个自定义的影像窗口,通过求窗口四个方向的灰
度差平方和确定中心点兴趣值
3程序实现流程图及实现过程
程序流程图如图1所示:
以下为该算法的具体实现过程中的核心程序;
for(inta=0;a<wide;a++)//wide是图像沿x方向像素的个数for(intb=0;b<height;b++)//height是图像沿y方向像素的个数{copy[b*wide+a]=0;}//copy[]是一个与图像相同大小的数组用来存放兴趣值
{for(intj=size1/2;j<width-size1/2;j++)
{//width是图像沿x方向有效像素的个数,小于等于wideV1=0;V2=0;V3=0;V4=0;
for(inti1=(-1)*size1/2;i1<=size1/2-1;i1++)
{V1+=(lpDIB1[(i+i1)*wide+j]-lpDIB1[(i+i1+1)*wide+j])
_*(lpDIB1[(i+i1)*wide+j]-lpDIB1[(i+i1+1)*wide+j]);//90度方向
灰度差
V2+=(lpDIB1[(i+i1)*wide+j+i1]-lpDIB1[(i+i1+1)*wide+j+i1+1])_*(lpDIB1[(i+i1)*wide+j+i1]-lpDIB1[(i+i1+1)*wide+j+i1+1]);//45度方向灰度差
V3+=(lpDIB1[i*wide+j+i1]-lpDIB1[i*wide+j+i1+1])
_*(lpDIB1[i*wide+j+i1]-lpDIB1[i*wide+j+i1+1]);//0度方向灰
度差
intmin,max,V1,V2,V3,V4;
for(inti=size1/2;i<height-size1/2;i++)
V4+=(lpDIB1[(i+i1)*wide+j-i1]-lpDIB1[(i+i1+1)*wide+j-i1-1])_*(lpDIB1[(i+i1)*wide+j-i1]-lpDIB1[(i+i1+1)*wide+j-i1-1]);//135度方向灰度差
收稿日期:2006-03-22
作者简介:王舒鹏(1984-),男,内蒙古省包头市人,研究方向:摄影测量与遥感;方莉(1985-),女,湖北省黄冈市人,研究方向:摄影测量与遥感。
电脑知识与技术
125
moravecs算子
研究开发电脑知识与技术
可以看出特征算子对一些反差加大的地物边缘提取的效果较好,而反差较小的边缘提取效果较差,这是由阈值、窗口大小的选取和算法本身所决定的。
}
min=V1;
if(V1>V2)min=V2;if(min>V3)min=V3;
if(min>V4)min=V4;//寻找最小灰度差平方和if(min>YuZhi)//YuZhi为所选的阈值大小
copy[i*wide+j]=min;//将四个方向最小灰度差平方和作为中心
点兴趣值
}}
max=0;//max是抑制局部非最大窗口size2中最大的兴趣值intline,row;//
for(intm=size2/2;m<height-size2/2;m++)//size2是抑制局部非
最大窗口的大小
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




