9.广义霍夫变换——介绍、广义霍夫变换步骤、实例_1
目录
介绍
广义霍夫变换步骤
建立霍夫表
识别步骤
广义霍夫变换实例
介绍
今天我们要做的是用两个重要的变化来结束今天的学习。
第一个是我们将使用非解析模型。(参数表示固定或任意形状的姿态或尺度的变化)
它不是直线,也不是圆,在这里,我们的参数是解析参数。
相反,参数将表示:一些固定但任意模板的方向或比例。
第二个是基于视觉码的特征。(不是边缘,而是从模型中学习的模板)
我们只简单讲一下这块知识。
它是一种基于视觉码的方法,我们用所谓的视觉码来表示特征而不是边缘,这是一种更现代的计算机视觉。
边缘来自于更古老的观点,关于物体如何被描述。现在的焦点更多地集中在个人特征上。
在这文章的后面,我们会讲到兴趣点,以及这些点的特点,因为我不想只教你旧的电脑视觉。
广义霍夫变换
对于广义Hough变换,当我们有一个特定的形状时很容易,因为基于我们对图像中的单个点或单个特征或单个边缘线的方程,
我们将知道如何投票,我们基本上将解决 这个方程会告诉我们如何在箱子里投票。
但是如果你有一个任意的形状,你怎么知道怎么投票呢? 要做这个的方法是建立一个叫做霍夫表(Hough table)。
在最初的文章中,它实际上被称为R-table,但我认为它是一个霍夫表(Hough table)。
建立霍夫表
它的工作方式如下:
1、在每个边界点,计算位移向量:r = c - pi.
对于每一个边界点,我们取其中一点P1:
我们要做的是,我们计算位移 或 R向量从P1到中心点c(如图),但这是一些参考点,这是我们要用点来定位对象。
我们测量R,这是一个位移向量。
2、测量边界点处的梯度角 。
接下来我们要做的是,计算梯度(如图)和边缘方向。
3、将该位移 R 存储在以 为索引的表中。
我们要做的是,我们把 R,我们放在一个由 索引的表中。
因此,如果我们有其他点,具有相同的 ,它也会把它的R添加到完全相同的表位置。
所以会有多个位移R,我一会儿会给你们看一个例子。
但是我的想法是:你根据位移创建 R,然后用 对它进行索引。
我们取第二点P2,它有一个不同的,并且会有一个不同的 R 进入该表,因此,我们将位移 R 存储在由 θ 索引的表中。
识别步骤
1、在每个边界点处,测量梯度角。
2、查找 位移 R 表中的所有的位移 R。
3、每个位移将投票给一个中心,最后确定中心。
在识别的时候,我们本质上是逆向。我们所做的是,在每个边界点,我们计算那里的 。
顺便说一下,现在我们假设物体的方向没有改变。
一分钟后,我会告诉你们如何解决它,超过一分钟后,我会告诉你,当方向改变时如何解决这个问题。
所以在每个边界点,这里是P1,我们找出方向,我们进入 R 表格,我们找到与该方向相关的所有位移R向量,所以会有这个:
也许还有其他一些 ,
但我们肯定会在这一点上投票。
然后在P2处(如图),
我们找到了它的方向,我们找到了所有与这个方向相关的位移 R 向量。
那个方向肯定会在那个方向投票。
整个想法是:正确的参考点c聚集了大量的选票。
你要做的是,你使用这个表格,这个R-table或者霍夫表格,为了告诉每个人,在新的测试图像中找到每个点如何投票。
这最初是Dana Ballard做的,我要指出这是在1980年,30多年前。
这只是一种向你展示的方法,有时甚至会出现在计算机视觉中。
广义霍夫变换实例
现在让我给你们看一个例子,在这个例子中你们得到了一个图像:
我要假设的第一件事是:我们有这些小的边元素,这些梯度。我要假设我们知道哪条边在里面,哪条边在外面。
它只是使图像更容易索引。让我们首先看一下指向内部的所有底部水平边缘。它们的方向都有相同的。
现在,当我们遍历所有这些不同的边元素时,它们对中心的位移是不同的。
所有这些红线,这些都是与底部水平边相关的位移。
所以如果我找到一个底部的水平边,我就必须对所有的位移进行投票。
在运行时看起来如下所示:
所以这里有很少的边缘元素。
它投票给所有这些不同的位移R(如图),
它们都在这条线上。
所有这些不同的位移从何而来?
他们都在这里:这些是所有可能的底边线的位移,所以每个向量都必须由每个底元素投票。
这只是一个元素(如图),
当然,还有下一个元素。
它必须以同样的方式投票,它来自同一个 。
另一个,另一个,又一个,
最后这一长串投票可能被抵消。
现在,我没有在这里指出,中间的那个实际上更多的选票,也许你可以认为中间比末端厚。
但这条线是有表决结果权,因为它的中心可能就在那里。现在,我们还不知道它在中心的什么位置。
那么,现在我们可以做的是我们可以看看向下指向的对角线。
你会注意到,对于向下指向的对角线,它可以是任何地方,从正上方一直到右边。
所以它可以是在它上面或者一直到右边。
这意味着在运行时,每个小对角线元素必须直接在它上面投票,一直到右边。这就是第一部分所表示的:
这是另一个对角元素,
另一个对角元素,
还有另一个对角元素。
直到最后它们都堆积起来。
你们会注意到,我知道对象在哪里。这个中心就是这样被发现的。
因此,我们的想法是使用这些偏移量的表格,用梯度作为索引,以便为中心投票。
——学会编写自己的代码,才能练出真功夫。
9.广义霍夫变换——介绍、广义霍夫变换步骤、实例_1相关推荐
- 霍夫变换到广义霍夫变换
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/tiandijun/article/details/47251913 计算机视觉中经常需要识别或者定位 ...
- OpenCV使用霍夫变换进行寻线的实例(附完整代码)
OpenCV使用霍夫变换进行寻线的实例 OpenCV使用霍夫变换进行寻线的实例 OpenCV使用霍夫变换进行寻线的实例 #include "opencv2/imgcodecs.hpp&quo ...
- Scrapy-Splash的介绍、安装以及实例
scrapy-splash的介绍 在前面的博客中,我们已经见识到了Scrapy的强大之处.但是,Scrapy也有其不足之处,即Scrapy没有JS engine, 因此它无法爬取JavaScrip ...
- RAID介绍及RAID5配置实例——睁大眼睛仔细看哦
RAID介绍及RAID5配置实例 一.RAID磁盘阵列介绍 二.RAID磁盘阵列详解 2.1RAID0(条带化存储) 2.2 RAID 1(镜像存储) 2.3 RAID5 2.4 RAID6 2.5 ...
- html自定义datajs,科技常识:HTML5的自定义属性data-*详细介绍和JS操作实例
今天小编跟大家讲解下有关HTML5的自定义属性data-*详细介绍和JS操作实例 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关HTML5的自定义属性data-*详细介绍和JS操作实例 的 ...
- 模板:广义二项式反演/广义容斥(组合数学)
文章目录 前言 经典容斥原理 广义二项式反演/广义容斥 min-max 容斥 所谓二项式反演,就是对两个项的式子进行反演. (逃) 前言 期望和容斥是我的感性二兄弟! 之前的容斥我基本也都是靠感性理解 ...
- python_day6_面向对象的介绍/构造函数/类变量和实例变量/析构函数/私有属性和私有方法/继承、多继承和继承实例/多态
python_面向对象的介绍/构造函数/类变量和实例变量/析构函数/私有属性和私有方法/继承.多继承和继承实例/多态 在这里得感谢,老师Alex金角大王(路飞学城IT) Python(给兄弟们挂个
- 广义表,广义表的定义和计算
广义表是线性表的推广,也称为列表. (1)A=()--A是一个空表,其长度为0. (2)B=(e)--B只有一个原子e,其长度为1. (3)C=(a,(b,c,d))--C的长度为2,两个元素分别为原 ...
- linux中的chmod命令详细介绍、使用及实例
linux中的chmod命令详细介绍.使用及实例 chmod命令 chmod用于改变 linux 系统文件或目录的访问权限,可以用它控制文件或目录的访问权限.该命令有两种用法:一种是包含字母的文字设定 ...
最新文章
- 深入理解transformer中的位置编码
- 记录一下matlab三维柱状图调色详细步骤
- STL源码剖析---红黑树原理详解
- java 包装类可以被继承_【Java基本功】一文了解Java中继承、封装、多态的细节...
- C++Bogo Sort猴子排序的实现算法(附完整源码)
- 使用Java 8流遍历递归数据结构
- flv 自动播放 html autostart=true,《网页制作之FLV视频播放代码的编写.doc
- php strchr 截断,PHP strchr() 函数
- Google和微软哪个更可怕?
- JQuery 基础:4.JQuery对象
- Security - 轻量级Java身份认证、访问控制安全框架
- erf、erfc公式及其函数值表查询
- 高通msm8926 camera调试笔记
- hdu2586How far away ?
- 机器人与matlab——Robotics Toolbox—02建立机器人模型
- UGUI实现图片特效轮播,使用插件DOTWEEN
- 管理之路:你的格局,决定你的结局
- X Normal使用方法
- 机器学习(四)——Adaboost算法
- WE LUCKY小幸运咖啡的自我介绍
热门文章
- 补习系列(20)-大话 WebSocket 与 尬聊的实现
- 基于CSE的微服务架构实践-Spring Boot技术栈选型
- linux+oracle磁盘空间,Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...
- Pytorch相关函数详解
- CSDN-markdown编辑器的使用方法大全
- 例子---PHP与Form表单前导篇
- 两个小块随鼠标拖动_html,类练习
- 麦迪逊大学计算机科学咋样,威斯康星大学麦迪逊分校计算机科学基本信息全览...
- 制作点击文字变颜色_手机照片、视频怎样添加文字?原来很简单,4种方法一分钟搞定...
- python图像边缘检测报告_python – 检测图像的最外边缘并基于它进行绘图