特征点提取之Harris角点提取法
1. 特征点提取的意义
2.角点
3. Harris角点检測的基本原理
4.Harris角点检測算法的步骤
5.Harris角点提取算法设计
- <span style="font-size:18px;">function [ptx,pty] = HarrisPoints(ImgIn,threshold)
- % Harris角点提取算法
- %计算图像亮度f(x,y)在点(x,y)处的梯度-----------------------------------------
- fx = [5 0 -5;8 0 -8;5 0 -5]; % 高斯函数一阶微分,x方向(用于改进的Harris)
- %fx = [-2 -1 0 1 2]; % x方向梯度算子(用于Harris角点提取算法)
- Ix = filter2(fx, ImgIn); % x方向滤波
- fy = [5 8 5;0 0 0;-5 -8 -5]; % 高斯函数一阶微分,y方向(用于改进的Harris)
- %fy = [-2; -1; 0; 1; 2]; % y方向梯度算子(用于Harris角点提取算法)
- Iy = filter2(fy, ImgIn); % y方向滤波
- %构造自相关矩阵-------------------------------------------------------------
- Ix2 = Ix .^ 2;
- Iy2 = Iy .^ 2;
- Ixy = Ix .* Iy;
- clear Ix;
- clear Iy;
- h= fspecial('gaussian', [7 7], 2);% 产生7*7的高斯窗函数,sigma=2
- Ix2 = filter2(h,Ix2);
- Iy2 = filter2(h,Iy2);
- Ixy = filter2(h,Ixy);
- %提取特征点-----------------------------------------------------------------
- height = size(ImgIn, 1);
- width = size(ImgIn, 2);
- result = zeros(height, width);% 纪录角点位置,角点处值为1
- R = zeros(height, width);
- Rmax = 0; % 图像中最大的R值
- k = 0.05; %k为常系数,经验取值范围为0.04~0.06
- 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) - k * (trace(M)) ^ 2; % 计算R
- if R(i,j) > Rmax
- Rmax = R(i, j);
- end;
- end;
- end;
- T = threshold* Rmax;%固定阈值。当R(i, j)>T时,则被判定为候选角点
- %在计算完各点的值后。进行局部非极大值抑制-------------------------------------
- cnt = 0;
- for i = 2 : height-1
- for j = 2 : width-1
- % 进行非极大抑制。窗体大小3*3
- if (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,j-1) && R(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;
- for j = 1 : height
- for k = 1 : width
- if result(j, k) == 1;
- corners1(i, 1) = j;
- corners1(i, 2) = k;
- i = i + 1;
- end;
- end;
- end;
- [pty, ptx] = find(result == 1); %row 行;column 列;
- end</span>
6.实验结果展示

7.补充阅读材料
特征点提取之Harris角点提取法的更多相关文章
- OpenCV计算机视觉学习(13)——图像特征点检测(Harris角点检测,sift算法)
如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 前言 ...
- 『OpenCV3』Harris角点特征_API调用及python手动实现
一.OpenCV接口调用示意 介绍了OpenCV3中提取图像角点特征的函数: # coding=utf- import cv2 import numpy as np '''Harris算法角点特征提取 ...
- 图像特征与描述子(直方图, 聚类, 边缘检测, 兴趣点/关键点, Harris角点, 斑点(Blob), SIFI, 纹理特征)
1.直方图 用于计算图片特征,表达, 使得数据具有总结性, 颜色直方图对数据空间进行量化,好比10个bin 2. 聚类 类内对象的相关性高 类间对象的相关性差 常用算法:kmeans, EM算法, m ...
- 特征提取算法(4)——Harris角点提取
1.角点 1.1 特征点与角点 特征点是计算机视觉算法的基础,使用特征点来代表图像的内容. 角点是一类重要的点特征,图像分析的角度来定义: 角点可以是两个边缘的角点: 角点是邻域内具有两个主方向的特征 ...
- Harris角点检测原理分析
看到一篇从数学意义上讲解Harris角点检测很透彻的文章,转载自:http://blog.csdn.net/newthinker_wei/article/details/45603583 主要参考了: ...
- Harris 角点检测
一 .Motivation 对于做图像处理的人来说,Harris角点检测肯定听过,1988年发表的文章"A combined corner and edge detector"描述 ...
- Harris角点算法
特征点检测广泛应用到目标匹配.目标跟踪.三维重建等应用中,在进行目标建模时会对图像进行目标特征的提取,常用的有颜色.角点.特征点.轮廓.纹理等特征.现在开始讲解常用的特征点检测,其中Harris角点检 ...
- Harris角点检测算原理
主要参考了:http://blog.csdn.net/yudingjun0611/article/details/7991601 Harris角点检测算子 本文将该文拷贝了过来,并做了一些数学方面的 ...
- OpenCV特征点提取----Fast特征
1.FAST(featuresfrom accelerated segment test)算法 http://blog.csdn.net/yang_xian521/article/details/74 ...
随机推荐
- FileChannel的深入理解
一,官方描写叙述 一个读,写,映射,操作文件的通道. 文件通道有能够被查询和改动的一个当前位置.文件本身包括了一个可悲读写的变长字节序列,而且它的当前的size会被查询.当被写入的字节超过当前文件的大 ...
- 怎样从Cortex-m向STM32移植使用SPI接口协议
/*************************************************************************************************** ...
- Drupal 关于节点(nodes)的理解
在 Drupal 构建的站点中.全部的内容都是以节点形式存储的,一个节点能够是公布的不论什么一个内容,比方说一个单面(page).一个投票(Poll).一篇文章(article).论坛主题(forum ...
- 洛谷P3201 [HNOI2009]梦幻布丁
题目描述 N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. 输入输出格式 输入格式: 第 ...
- File Upload with Jersey
package com.toic.rest; import java.io.File; import java.io.FileOutputStream; import java.io.IOExcept ...
- 又一次认识java(一) ---- 万物皆对象
假设你现实中没有对象.至少你在java世界里会有茫茫多的对象,听起来是不是非常激动呢? 对象,引用,类与现实世界 现实世界里有许很多多的生物,非生物,跑的跳的飞的,过去的如今的未来的,令人眼花缭乱.我 ...
- Android学习笔记之按键操作
我们如何和Android 程序来进行交互那份?来让 Android 程序产生相应的反应,我们不得不通过键盘事件.触摸事件.传感器事件等来实现. 键盘是Android中主要的输入设备,对按键的响应的处理 ...
- iterm恢复默认设置
命令行执行以下命令即可: defaults delete com.googlecode.iterm2
- ORACLE 11G R2 DG_BROKER 之SWITCH OVER
官网:http://docs.oracle.com/cd/B12037_01/server.101/b10822/cli.htm 这个是有必要看一下. 注意本人已经完毕一次SWITCHOVER 所 ...
- 策略模式 VS 桥梁模式
这对冤家终于碰头了,策略模式与桥梁模式是如此相似,简直就是孪生兄弟,要把它们两个分开需要花费大量智力,我们来看看两者的通用类图,如图33-1所示. 图33-1 策略模式(左)和桥梁模式(右)通用类图 ...