Shi-Tomasi算法是对Harris角点检测算法的改进,一般会比Harris算法得到更好的角点。Harris 算法的角点响应函数是将矩阵 M 的行列式值与 M 的迹相减,利用差值判断是否为角点。后来Shi 和Tomasi 提出改进的方法是,若矩阵M的两个特征值中较小的一个大于阈值,则认为他是角点,即:


如下图所示:

从这幅图中,可以看出来只有当 λ1 和 λ 2 都大于最小值时,才被认为是角点。

corners = cv2.goodFeaturesToTrack ( image, maxcorners, qualityLevel, minDistance )
  • Image: 输入灰度图像
  • maxCorners : 获取角点数的数目。
  • qualityLevel:该参数指出最低可接受的角点质量水平,在0-1之间。
  • minDistance:角点之间最小的欧式距离,避免得到相邻特征点。

返回:

  • Corners: 搜索到的角点,在这里所有低于质量水平的角点被排除掉,然后把合格的角点按质量排序,然后将质量较好的角点附近(小于最小欧式距离)的角点删掉,最后找到maxCorners个角点返回。
import cv2 as cv
import matplotlib.pyplot as plt# 1 读取图像
img = cv.imread('./1.jpg')
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)# 2 角点检测
corners = cv.goodFeaturesToTrack(gray, 1000, 0.01, 10)# 3 绘制角点
for i in corners:x, y = i.ravel()cv.circle(img, (x, y), 2, (0, 0, 255), -1)# 4 图像展示
plt.figure(figsize=(10, 8), dpi=100)
plt.imshow(img[:, :, ::-1]),
plt.title('shi-tomasi角点检测')
plt.xticks([]),
plt.yticks([])
plt.show()

OpenCV Shi-Tomasi角点检测相关推荐

  1. OpenCV学习-P44 角点检测

    OpenCV学习-P44 角点检测 角点特征 Harris和Shi-Tomas算法 Harris角点检测 Shi-tomas角点检测 角点特征 角点是图像很重要的特征,对图像图形的理解和分析有很重要的 ...

  2. Shi-tomasi角点检测python实现及基于opencv实现 (角点检测、非极大值抑制)

    写在前面: 已经是七月中旬,黄宁然,你依然在这里. 参考文献镇楼: [1]龚思宇宙,基于平面模板的摄像机标定及相关技术研究 [2]汪洋,扫地机器人定位算法设计与嵌入式系统实现 [3]Denny#,[o ...

  3. C++OpenCV矩形的角点检测与坐标提取,基于fast特征点

    目的:提取图片中某个矩形的四个角点的坐标 方法:采用非极大值抑制的fast特征点检测 流程: 图像滤波(可选) fast角点检测 自己设定矩形大致范围 输出矩形角点坐标 程序: 主函数文件 #incl ...

  4. 毛星云opencv之SHi-Tomasi角点检测综合程序

    #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #i ...

  5. OpenCV亚像素角点检测

    前言 我在做围棋盘的的四个角点检测时,试了几种角点检测,用来得到棋盘四个角的初始点,试了几种角点检测的方法,但在我所使用的环境下,亚像素的角点检测得到的结果比较理想. 代码 //亚像素角点检测 voi ...

  6. opencv 边缘检测,角点检测

    #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <ope ...

  7. opencv c++ Harris角点检测、shi-tomasi角点

    应用:连续的图像移动或图像拼接场景中,确定图像中某一对象的位置. 1.角点检测原理 1.1.角点定义 在x方向和y方向都有最大梯度变化的像素点,衡量这个变化的计算式如下,为xx,xy,yx,yy四个方 ...

  8. OpenCV | OpenCV哈里斯 (Harris)角点检测

    环境 pip install opencv-python==3.4.2.16pip install opencv-contrib-python==3.4.2.16 理论 克里斯·哈里斯(Chris H ...

  9. opencv特征提取1-Harris角点检测

  10. opencv角点检测学习总结

    学习opencv 角点检测 如果一个点在两个正交方向上都有明显的导数,则我们认为此点更倾向于是独一无二的,所以许多可跟踪的特征点都是角点. 一下为角点检测中用到的一些函数 cvGoodFeatures ...

最新文章

  1. 小程序音频播放报10001 解决方案 errCode:10001, errMsg:errCode:602,err:error,not found param
  2. UA OPTI512R 傅立叶光学导论15 2-D Fourier变换与Hankel变换
  3. 一个ABAP程序,能够下载指定的note到本地
  4. 行业发展的大势所趋 嵌入式机器视觉系统前景一片大好
  5. 使用适用于Java 2的AWS开发工具包的AWS DynamoDB版本字段
  6. java将某个数按比例分配应用题,按比例分配应用题
  7. centos7环境下mysql5.7的安装与配置
  8. glassfish 自定义 jaas realm
  9. win10怎么做文件服务器,win10怎么做云服务器
  10. 国际象棋马走日(骑士周游)
  11. iOS开发各种证书详解
  12. 计算机科学与技术专业毕业答辨问题,计算机科学与技术论文答辩问题(问题及技巧介绍)...
  13. excel表格合并程序
  14. 脱敏数据的残余风险评估
  15. 单词学习-长久的过程
  16. uni-app卡片式轮播
  17. Optimal Design of Energy-Efficient Multi-User MIMO Systems: Is Massive MIMO the Answer?笔记
  18. Java知识整理(Netty/索引/锁/JMM)-增强篇
  19. SQL Server数据库的三种恢复模式
  20. MySQL Workbench 6.3CE 汉化教程(内附资源链接)

热门文章

  1. python2.7 + selenium3.4.3浏览器的选择
  2. Android注解使用之Dagger2实现项目依赖关系解耦
  3. 如何解决div里面img图片下方有空白的问题?
  4. 2003DC 升级到2008R2 DC实验
  5. MFC Windows 消息发送顺序
  6. 头脑风暴是如何毁掉创意的?
  7. python应该安装哪一个_python安装到哪个盘
  8. JavaScript的特殊函数
  9. asp.net页面回传与js调用服务端事件、PostBack的原理详解
  10. JSP GridView --使用自定义标签实现ASP.NET的控件