用matlab实现harris角点检测,基于MatlabGUI的Harris角点检测程序

基于MatlabGUI的Harris角点检测程序

作 者: Bugzhao Mailto: bugzhao@http://www.doczj.com/doc/fd59aac50c22590102029d5a.html QQ:88576613 发表时间: 2005-2-17

内容概要: 我写的一个使用matlab制作的角点检测程序

图片支持格式:jpg、bmp、tif等格式的灰度、彩色图片 目前仅实现了harris检测器

最终将实现四种角点检测算法

包括经典的harris、基于canny边缘检测和弧度、

基于多分辨率、基于SUSAN

本文分三部分

第一部分简要介绍图像处理理论中的角点检测

第二部分介绍matlab GUI编程

第三部分介绍本程序的完整实现

Part(1)

角点检测(corner detection/extration)经常被用于作为特征提取的第一步。比如在制作一个全景图拼接程序中,我们可以首先检测邻接图片的角点,然后在这些角点中进行适当选择排除,最终形成两幅图片的特征点对。接下来可以根据这些特征点对来计算邻接图片的变换矩阵(一般使用仿射变换来近似投影变换),最终经图像融合技术就可以得到全景图。

角点检测大体有两种思路,一种是直接基于灰度,另一种是先检测边缘,然后计算弧度的局部极大值得到角点。后者对噪声有较好的抗干扰性能。

本课题中首先来实现harris角点检测算法

首先来看最为经典的Moravec算法。算法思路是计算图像灰度在任意方向上的变化,使用一个移动窗口,在像素点的4个方向进行移动,然后求最小E值的局部最大值。在均匀灰度中,E值在各个方向都很小;在边缘处,最小值依赖于边缘的方向,可以想像E值变化有大有小;而在角点处,每个方向的E值变化都较大。

你可能感兴趣的:(用matlab实现harris角点检测,基于MatlabGUI的Harris角点检测程序)