OpenCV系列之Shi-tomas拐角检测器和益于跟踪的特征 | 三十八
目标
在本章中,
我们将学习另一个拐角检测器:Shi-Tomasi拐角检测器
我们将看到以下函数:cv.goodFeaturesToTrack()
理论
在上一章中,我们看到了Harris Corner Detector。1994年下半年,J。Shi和C. Tomasi在他们的论文《有益于跟踪的特征》中做了一个小修改,与Harris Harris Detector相比,显示了更好的结果。哈里斯角落探测器的计分功能由下式给出:
取而代之的是,史托马西提出:
如果大于阈值,则将其视为拐角。如果像在Harris Corner Detector中那样在空间中绘制它,则会得到如下图像:
从图中可以看到,只有当和大于最小值时,才将其视为拐角(绿色区域)。
代码
OpenCV有一个函数cv.goodFeaturesToTrack()。它通过Shi-Tomasi方法(或哈里斯角检测,如果指定)找到图像中的N个最强角。像往常一样,图像应该是灰度图像。然后,指定要查找的角数。然后,您指定质量级别,该值是介于0-1
之间的值,该值表示每个角落都被拒绝的最低拐角质量。然后,我们提供检测到的角之间的最小欧式距离。
利用所有这些信息,该功能可以找到图像中的拐角。低于平均质量的所有拐角点均被拒绝。然后,它会根据质量以降序对剩余的角进行排序。然后函数首先获取最佳拐角,然后丢弃最小距离范围内的所有附近拐角,然后返回N个最佳拐角。
在下面的示例中,我们将尝试找到25个最佳弯角:
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
img = cv.imread('blox.jpg')
gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
corners = cv.goodFeaturesToTrack(gray,25,0.01,10)
corners = np.int0(corners)
for i in corners:x,y = i.ravel()cv.circle(img,(x,y),3,255,-1)
plt.imshow(img),plt.show()
查看以下结果:
此功能更适合跟踪。我们将看到使用它的时机。
☆☆☆为方便大家查阅,小编已将OpenCV-Python专栏文章统一整理到公众号底部菜单栏,同步更新中,关注公众号,点击左下方“文章”,如图:
或点击下方“阅读原文”,进入OpenCV-Python专栏,即可查看系列文章。
不断更新资源
获取更多精彩
长按二维码扫码关注
OpenCV系列之Shi-tomas拐角检测器和益于跟踪的特征 | 三十八相关推荐
- OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC
OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...
- opencv镜像_DX200操作要领—PAM与镜像平移变换(三十八)
6.4 PAM功能 6.4.1 PAM功能 再现中的位置修改功能 (PAM 功能:Position Adjustment Manual) ,可在查看机器人动作状况的同时,在不停止机器人的情况下,通过简 ...
- OpenCV——Harris、Shi Tomas、自定义、亚像素角点检测
在图像处理和与计算机视觉领域,兴趣点(interest points),或称作关键点(keypoints).特征点(feature points) 被大量用于解决物体识别,图像识别.图像匹配.视觉跟踪 ...
- OpenCV系列之理解特征 | 三十六
目标 在本章中,我们将尝试理解什么是特征,为什么拐角重要等等 解释 你们大多数人都会玩拼图游戏.你会得到很多小图像,需要正确组装它们以形成大的真实图像.问题是,你怎么做?将相同的理论投影到计算机程序上 ...
- [Python图像处理] 三十八.OpenCV图像增强和图像去雾万字详解(直方图均衡化、局部直方图均衡化、自动色彩均衡化)
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- 快速傅里叶变换python_【原创】OpenCV-Python系列之傅里叶变换(三十八)
OpenCV-Python系列之傅里叶变换 傅里叶变换 我们生活在时间的世界中,早上7:00起来吃早饭,8:00去挤地铁,9:00开始上班...以时间为参照就是时域分析. 但是在频域中一切都是静止的! ...
- “约见”面试官系列之常见面试题第三十八篇之js常见的继承方式(建议收藏)
1.原型链继承 核心: 将父类的实例作为子类的原型 将构造函数的原型设置为另一个构造函数的实例对象,这样就可以继承另一个原型对象的所有属性和方法,可以继续往上,最终形成原型链 父类 // 定义一个动物 ...
- BizTalk开发系列(三十八)微软BizTalk Server定价和许可[解读]
更多内容请查看:BizTalk动手实验系列目录 BizTalk 开发系列 做BizTalk的项目一段时间了,但是对BizTalk的价格和许可还不是很了解.给 ...
- ASM 翻译系列第三十八弹:ASM数据清理
原作者:Bane Radulovic 译者: 魏兴华 审核: 魏兴华 DBGeeK社区联合出品 原文链接:http://asmsupportguy.blogspot.sg/2015/12/ ...
最新文章
- 程序员提交代码的 emoji 指南——原来表情文字不能乱用
- 人人可用的AI大模型来了,“玩”TA还有奖金拿
- Android Volley完全解析4:带你从源码的角度理解Volley
- 5位随机数重复的概率 php_php防止表单重复提交的方法
- php数据库缓存服务器配置,php缓存技术(减少数据库服务器压力)
- android 关联源码
- 之前8年都在上班工资16000,厌倦了天天上班的日子,就裸辞了。现在很迷茫,下一步怎么办?
- HDU1865 1sting【递推】
- php filtervar函数用法,PHP过滤器 filter_has_var() 函数用法实例分析
- 【机器学习系列】概率图模型第六讲:因子图和道德图
- 【Matlab创建word文档,插入图注或表注】
- Windows通过IP地址向对方发送信息
- html知识 笔记,HTML基础知识笔记
- 通过phpmyadmin修改帝国CMS的管理员密码
- 【实战记录分析】目录导航
- 在vmware里面免费安装纯净的xp虚拟机
- 哈拉德·柯施纳的狡猾
- 打工人最怕听到的词是团建
- 在互联网行业断断续续这四年间
- 中国计算机核心期刊排名
热门文章
- 瑞萨e2studio(20)----更新FSP版本
- 边缘计算硬件的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- sql索引的介绍及使用规则
- 总订单量47600套!单品破35000套,德施曼双十一全网预售第一
- 详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。
- mysql取模_mysql 取模分表
- java captivate_在线教学创作工具包iSpring Suite——更便捷的Adobe Captivate替代品
- Core java for impatient 笔记
- 老闪创业那些事儿(32)——上班打卡吗?
- sofia sip开发九 使用EMIPLIB库增加RTP流处理