目标

在本章中,

  • 我们将学习另一个拐角检测器: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拐角检测器和益于跟踪的特征 | 三十八相关推荐

  1. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  2. opencv镜像_DX200操作要领—PAM与镜像平移变换(三十八)

    6.4 PAM功能 6.4.1 PAM功能 再现中的位置修改功能 (PAM 功能:Position Adjustment Manual) ,可在查看机器人动作状况的同时,在不停止机器人的情况下,通过简 ...

  3. OpenCV——Harris、Shi Tomas、自定义、亚像素角点检测

    在图像处理和与计算机视觉领域,兴趣点(interest points),或称作关键点(keypoints).特征点(feature points) 被大量用于解决物体识别,图像识别.图像匹配.视觉跟踪 ...

  4. OpenCV系列之理解特征 | 三十六

    目标 在本章中,我们将尝试理解什么是特征,为什么拐角重要等等 解释 你们大多数人都会玩拼图游戏.你会得到很多小图像,需要正确组装它们以形成大的真实图像.问题是,你怎么做?将相同的理论投影到计算机程序上 ...

  5. [Python图像处理] 三十八.OpenCV图像增强和图像去雾万字详解(直方图均衡化、局部直方图均衡化、自动色彩均衡化)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  6. 快速傅里叶变换python_【原创】OpenCV-Python系列之傅里叶变换(三十八)

    OpenCV-Python系列之傅里叶变换 傅里叶变换 我们生活在时间的世界中,早上7:00起来吃早饭,8:00去挤地铁,9:00开始上班...以时间为参照就是时域分析. 但是在频域中一切都是静止的! ...

  7. “约见”面试官系列之常见面试题第三十八篇之js常见的继承方式(建议收藏)

    1.原型链继承 核心: 将父类的实例作为子类的原型 将构造函数的原型设置为另一个构造函数的实例对象,这样就可以继承另一个原型对象的所有属性和方法,可以继续往上,最终形成原型链 父类 // 定义一个动物 ...

  8. BizTalk开发系列(三十八)微软BizTalk Server定价和许可[解读]

    更多内容请查看:BizTalk动手实验系列目录                       BizTalk 开发系列 做BizTalk的项目一段时间了,但是对BizTalk的价格和许可还不是很了解.给 ...

  9. ASM 翻译系列第三十八弹:ASM数据清理

    原作者:Bane Radulovic 译者:    魏兴华 审核:    魏兴华 DBGeeK社区联合出品 原文链接:http://asmsupportguy.blogspot.sg/2015/12/ ...

最新文章

  1. 程序员提交代码的 emoji 指南——原来表情文字不能乱用
  2. 人人可用的AI大模型来了,“玩”TA还有奖金拿
  3. Android Volley完全解析4:带你从源码的角度理解Volley
  4. 5位随机数重复的概率 php_php防止表单重复提交的方法
  5. php数据库缓存服务器配置,php缓存技术(减少数据库服务器压力)
  6. android 关联源码
  7. 之前8年都在上班工资16000,厌倦了天天上班的日子,就裸辞了。现在很迷茫,下一步怎么办?
  8. HDU1865 1sting【递推】
  9. php filtervar函数用法,PHP过滤器 filter_has_var() 函数用法实例分析
  10. 【机器学习系列】概率图模型第六讲:因子图和道德图
  11. 【Matlab创建word文档,插入图注或表注】
  12. Windows通过IP地址向对方发送信息
  13. html知识 笔记,HTML基础知识笔记
  14. 通过phpmyadmin修改帝国CMS的管理员密码
  15. 【实战记录分析】目录导航
  16. 在vmware里面免费安装纯净的xp虚拟机
  17. 哈拉德·柯施纳的狡猾
  18. 打工人最怕听到的词是团建
  19. 在互联网行业断断续续这四年间
  20. 中国计算机核心期刊排名

热门文章

  1. 瑞萨e2studio(20)----更新FSP版本
  2. 边缘计算硬件的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  3. sql索引的介绍及使用规则
  4. 总订单量47600套!单品破35000套,德施曼双十一全网预售第一
  5. 详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。
  6. mysql取模_mysql 取模分表
  7. java captivate_在线教学创作工具包iSpring Suite——更便捷的Adobe Captivate替代品
  8. Core java for impatient 笔记
  9. 老闪创业那些事儿(32)——上班打卡吗?
  10. sofia sip开发九 使用EMIPLIB库增加RTP流处理