目录

介绍

广义霍夫变换步骤

建立霍夫表

识别步骤

广义霍夫变换实例


介绍

今天我们要做的是用两个重要的变化来结束今天的学习。

第一个是我们将使用非解析模型。(参数表示固定或任意形状的姿态或尺度的变化)

它不是直线,也不是圆,在这里,我们的参数是解析参数。

相反,参数将表示:一些固定但任意模板的方向或比例。

第二个是基于视觉码的特征。(不是边缘,而是从模型中学习的模板)

我们只简单讲一下这块知识。

它是一种基于视觉码的方法,我们用所谓的视觉码来表示特征而不是边缘,这是一种更现代的计算机视觉。

边缘来自于更古老的观点,关于物体如何被描述。现在的焦点更多地集中在个人特征上。

在这文章的后面,我们会讲到兴趣点,以及这些点的特点,因为我不想只教你旧的电脑视觉。

广义霍夫变换

对于广义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相关推荐

  1. 霍夫变换到广义霍夫变换

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/tiandijun/article/details/47251913 计算机视觉中经常需要识别或者定位 ...

  2. OpenCV使用霍夫变换进行寻线的实例(附完整代码)

    OpenCV使用霍夫变换进行寻线的实例 OpenCV使用霍夫变换进行寻线的实例 OpenCV使用霍夫变换进行寻线的实例 #include "opencv2/imgcodecs.hpp&quo ...

  3. Scrapy-Splash的介绍、安装以及实例

    scrapy-splash的介绍   在前面的博客中,我们已经见识到了Scrapy的强大之处.但是,Scrapy也有其不足之处,即Scrapy没有JS engine, 因此它无法爬取JavaScrip ...

  4. RAID介绍及RAID5配置实例——睁大眼睛仔细看哦

    RAID介绍及RAID5配置实例 一.RAID磁盘阵列介绍 二.RAID磁盘阵列详解 2.1RAID0(条带化存储) 2.2 RAID 1(镜像存储) 2.3 RAID5 2.4 RAID6 2.5 ...

  5. html自定义datajs,科技常识:HTML5的自定义属性data-*详细介绍和JS操作实例

    今天小编跟大家讲解下有关HTML5的自定义属性data-*详细介绍和JS操作实例 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关HTML5的自定义属性data-*详细介绍和JS操作实例 的 ...

  6. 模板:广义二项式反演/广义容斥(组合数学)

    文章目录 前言 经典容斥原理 广义二项式反演/广义容斥 min-max 容斥 所谓二项式反演,就是对两个项的式子进行反演. (逃) 前言 期望和容斥是我的感性二兄弟! 之前的容斥我基本也都是靠感性理解 ...

  7. python_day6_面向对象的介绍/构造函数/类变量和实例变量/析构函数/私有属性和私有方法/继承、多继承和继承实例/多态

    python_面向对象的介绍/构造函数/类变量和实例变量/析构函数/私有属性和私有方法/继承.多继承和继承实例/多态 在这里得感谢,老师Alex金角大王(路飞学城IT) Python(给兄弟们挂个

  8. 广义表,广义表的定义和计算

    广义表是线性表的推广,也称为列表. (1)A=()--A是一个空表,其长度为0. (2)B=(e)--B只有一个原子e,其长度为1. (3)C=(a,(b,c,d))--C的长度为2,两个元素分别为原 ...

  9. linux中的chmod命令详细介绍、使用及实例

    linux中的chmod命令详细介绍.使用及实例 chmod命令 chmod用于改变 linux 系统文件或目录的访问权限,可以用它控制文件或目录的访问权限.该命令有两种用法:一种是包含字母的文字设定 ...

最新文章

  1. 深入理解transformer中的位置编码
  2. 记录一下matlab三维柱状图调色详细步骤
  3. STL源码剖析---红黑树原理详解
  4. java 包装类可以被继承_【Java基本功】一文了解Java中继承、封装、多态的细节...
  5. C++Bogo Sort猴子排序的实现算法(附完整源码)
  6. 使用Java 8流遍历递归数据结构
  7. flv 自动播放 html autostart=true,《网页制作之FLV视频播放代码的编写.doc
  8. php strchr 截断,PHP strchr() 函数
  9. Google和微软哪个更可怕?
  10. JQuery 基础:4.JQuery对象
  11. Security - 轻量级Java身份认证、访问控制安全框架
  12. erf、erfc公式及其函数值表查询
  13. 高通msm8926 camera调试笔记
  14. hdu2586How far away ?
  15. 机器人与matlab——Robotics Toolbox—02建立机器人模型
  16. UGUI实现图片特效轮播,使用插件DOTWEEN
  17. 管理之路:你的格局,决定你的结局
  18. X Normal使用方法
  19. 机器学习(四)——Adaboost算法
  20. WE LUCKY小幸运咖啡的自我介绍

热门文章

  1. 补习系列(20)-大话 WebSocket 与 尬聊的实现
  2. 基于CSE的微服务架构实践-Spring Boot技术栈选型
  3. linux+oracle磁盘空间,Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...
  4. Pytorch相关函数详解
  5. CSDN-markdown编辑器的使用方法大全
  6. 例子---PHP与Form表单前导篇
  7. 两个小块随鼠标拖动_html,类练习
  8. 麦迪逊大学计算机科学咋样,威斯康星大学麦迪逊分校计算机科学基本信息全览...
  9. 制作点击文字变颜色_手机照片、视频怎样添加文字?原来很简单,4种方法一分钟搞定...
  10. python图像边缘检测报告_python – 检测图像的最外边缘并基于它进行绘图