OpenCV Shi-Tomasi角点检测
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角点检测相关推荐
- OpenCV学习-P44 角点检测
OpenCV学习-P44 角点检测 角点特征 Harris和Shi-Tomas算法 Harris角点检测 Shi-tomas角点检测 角点特征 角点是图像很重要的特征,对图像图形的理解和分析有很重要的 ...
- Shi-tomasi角点检测python实现及基于opencv实现 (角点检测、非极大值抑制)
写在前面: 已经是七月中旬,黄宁然,你依然在这里. 参考文献镇楼: [1]龚思宇宙,基于平面模板的摄像机标定及相关技术研究 [2]汪洋,扫地机器人定位算法设计与嵌入式系统实现 [3]Denny#,[o ...
- C++OpenCV矩形的角点检测与坐标提取,基于fast特征点
目的:提取图片中某个矩形的四个角点的坐标 方法:采用非极大值抑制的fast特征点检测 流程: 图像滤波(可选) fast角点检测 自己设定矩形大致范围 输出矩形角点坐标 程序: 主函数文件 #incl ...
- 毛星云opencv之SHi-Tomasi角点检测综合程序
#include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #i ...
- OpenCV亚像素角点检测
前言 我在做围棋盘的的四个角点检测时,试了几种角点检测,用来得到棋盘四个角的初始点,试了几种角点检测的方法,但在我所使用的环境下,亚像素的角点检测得到的结果比较理想. 代码 //亚像素角点检测 voi ...
- opencv 边缘检测,角点检测
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <ope ...
- opencv c++ Harris角点检测、shi-tomasi角点
应用:连续的图像移动或图像拼接场景中,确定图像中某一对象的位置. 1.角点检测原理 1.1.角点定义 在x方向和y方向都有最大梯度变化的像素点,衡量这个变化的计算式如下,为xx,xy,yx,yy四个方 ...
- OpenCV | OpenCV哈里斯 (Harris)角点检测
环境 pip install opencv-python==3.4.2.16pip install opencv-contrib-python==3.4.2.16 理论 克里斯·哈里斯(Chris H ...
- opencv特征提取1-Harris角点检测
- opencv角点检测学习总结
学习opencv 角点检测 如果一个点在两个正交方向上都有明显的导数,则我们认为此点更倾向于是独一无二的,所以许多可跟踪的特征点都是角点. 一下为角点检测中用到的一些函数 cvGoodFeatures ...
最新文章
- 小程序音频播放报10001 解决方案 errCode:10001, errMsg:errCode:602,err:error,not found param
- UA OPTI512R 傅立叶光学导论15 2-D Fourier变换与Hankel变换
- 一个ABAP程序,能够下载指定的note到本地
- 行业发展的大势所趋 嵌入式机器视觉系统前景一片大好
- 使用适用于Java 2的AWS开发工具包的AWS DynamoDB版本字段
- java将某个数按比例分配应用题,按比例分配应用题
- centos7环境下mysql5.7的安装与配置
- glassfish 自定义 jaas realm
- win10怎么做文件服务器,win10怎么做云服务器
- 国际象棋马走日(骑士周游)
- iOS开发各种证书详解
- 计算机科学与技术专业毕业答辨问题,计算机科学与技术论文答辩问题(问题及技巧介绍)...
- excel表格合并程序
- 脱敏数据的残余风险评估
- 单词学习-长久的过程
- uni-app卡片式轮播
- Optimal Design of Energy-Efficient Multi-User MIMO Systems: Is Massive MIMO the Answer?笔记
- Java知识整理(Netty/索引/锁/JMM)-增强篇
- SQL Server数据库的三种恢复模式
- MySQL Workbench 6.3CE 汉化教程(内附资源链接)
热门文章
- python2.7 + selenium3.4.3浏览器的选择
- Android注解使用之Dagger2实现项目依赖关系解耦
- 如何解决div里面img图片下方有空白的问题?
- 2003DC 升级到2008R2 DC实验
- MFC Windows 消息发送顺序
- 头脑风暴是如何毁掉创意的?
- python应该安装哪一个_python安装到哪个盘
- JavaScript的特殊函数
- asp.net页面回传与js调用服务端事件、PostBack的原理详解
- JSP GridView --使用自定义标签实现ASP.NET的控件