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角点提取法相关推荐

  1. 学习笔记 2.1 — Harris角点检测与特征匹配【含实例】

    一. 图像特征匹配 最近刚入门了计算机视觉这门课程,觉得非常有意思,想象一下如果你能够自己做出一款全景拍照的软件,真实地令人激动,当然这全景图像其中的原理就是图像的特征匹配,把不同的图片通过相同的局部 ...

  2. 详解计算机视觉中的特征点检测:Harris / SIFT / SURF / ORB

    作者丨Encoder@知乎 来源丨https://zhuanlan.zhihu.com/p/36382429 编辑丨极市平台 本文仅用于学术分享,若侵权,联系后台作删文处理.极市导读 Harris角点 ...

  3. OpenCV + CPP 系列(卅三)图像特征提取(Harris角点检测、Shi-Tomasi角点检测、自定义角点检测)

    文章目录 一.常用图像特征描述 二.Harris角点检测 演示Harris角点检测 三.Shi-Tomasi角点检测 四.自定义角点检测器 一.常用图像特征描述 SIFT.SURF.HOG.Haar. ...

  4. 超全总结!详解计算机视觉中的特征点检测:Harris / SIFT / SURF / ORB

    本文转自计算机视觉联盟,文章仅用于学术交流. Harris角点检测 Def. [角点(corner point)] 在邻域内的各个方向上灰度变化值足够高的点,是图像边缘曲线上曲率极大值的点. [基于灰 ...

  5. Harris角点检测和Shi-Tomasi角点检测

    文章目录 什么是角点? Harris角点的基本思想 Harris角点特征的数学表达 Harris角点的性质 Harris算法具体步骤 Tshi-Tomasi角点检测和Harris的区别 什么是角点? ...

  6. MATLAB——Harris角点检测

    为完成对棋盘标板的角点检测,特此记录. 角点:最直接的定义为在水平.垂直两个方向上变化均较大的点 最常用的角点检测算法为Harris角点检测方法,原理如下: 计算图像I(x,y)在X和Y两个方向的梯度 ...

  7. Harris角点检测python实现及基于opencv实现

    写在前面: 黄宁然, 七月,骄阳似火. 参考文献镇楼: [1]袁志聪,基于harris特征的点云配准方法研究 [2]高亭,基于改进Harris角点检测的印刷体文档图像检索技术 [3]景庆阳,基于har ...

  8. OpenCV之feature2d 模块. 2D特征框架(1)Harris 角点检测子 Shi-Tomasi角点检测子 定制化创建角点检测子 亚像素级的角点检测 特征点检测

    Harris 角点检测子 目标 本教程中我们将涉及: 有哪些特征?它们有什么用? 使用函数 cornerHarris 通过 Harris-Stephens方法检测角点. 理论 有哪些特征? 在计算机视 ...

  9. Harris角点特征提取和角点特征匹配(2)

    Harris角点特征提取和特征匹配(后半部分) 前半部分点击以下链接: https://blog.csdn.net/QWER306306/article/details/123510826 本文采用H ...

最新文章

  1. 【linux】NXP MFGTools工具配置文件详解
  2. 判断两个多边形相交的面积_聊聊3D模型组件—顶点,边,多边形
  3. 同步轨道进入过程_工业轨道运输车_液压升降型轨道平车的应用
  4. Android笔记(二十五) ListView的缓存机制与BaseAdapter
  5. IOS上的 Audio Memos SE 如何分享和传输录音到电脑?
  6. 十、最大熵模型与EM算法
  7. rabbitmq如何保证消息不被重复消费_如何保证消息不被重复消费
  8. 【AI视野·今日CV 计算机视觉论文速览 第197期】Thu, 13 May 2021
  9. rest教程_REST保证教程
  10. 第一阶段冲刺(第十天)
  11. Koa2 洋葱模型 —— compose 串联中间件的四种实现
  12. Java程序员如何写好一份个人求职简历
  13. e260dn打印机故障灯_打印机故障大全对照表
  14. java 服务器程序部署环境搭建
  15. echarts模拟迁徙城市重名问题
  16. 自由度+凝固度+统计的新词发现
  17. 东八区时间转换为年月日时分秒(2020-10-26T11:34:30Z转换为2020-10-26 11:34:30)
  18. java之hashTab
  19. Mesa学习笔记#1:Running MESA
  20. 【DFS题型九/双向DFS】王子救公主

热门文章

  1. 解决linux下内网域名的ping结果和nslookup结果不一致
  2. 结婚戒指为什么戴在无名指上的原因
  3. 1.svn无法连接,2.svn日志无法显示,3.日志无法修改
  4. NYOJ 1066 CO-PRIME(数论)
  5. 前端页面布局常见问题/已踩过的坑大杂烩
  6. Python 装饰器原理和基本实现
  7. POJ2817 WordStack(状压DP)
  8. Spring框架的事务管理及应用
  9. 为WPF和Silverlight的Grid添加边框线
  10. 如何测量代码执行时间