OpenCV:何时使用 GridAdaptedFeatureDetector?

2024-04-20

我正在尝试制作一个基于描述符的检测器。我正在使用 OpenCV,我发现有很多特征类型和描述符类型,以及匹配器类型。更多我还看到可以有诸如网格或金字塔之类的组合类型作为特征类型。

我还没有找到对它们的很好的解释(除了金字塔,它说这很好”对于本质上不缩放的探测器 http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_feature_detectors.html?highlight=featuredetector#pyramidadaptedfeaturedetector“)。我想要对每种类型和每种组合(特征描述符匹配器)有一个简短的描述,以提出一个想法,而不是创建一个详尽的工作来搜索和验证每个可能的组合。

有人知道这方面的更多信息吗?


期限feature通常用于两种不同的事情:

  • feature 探测器,
  • feature 描述符.

探测器的目标是……嗯……检测好的有趣点,即在视点和照明变化下稳定的点,并且在单应性估计或对象检测等任务中产生良好性能的点。

描述符旨在达到良好的匹配性能对于在所述视点和光照变化下检测到的点。

设计了一些点单独地,没有任何描述符。对于大多数人来说都是这种情况最古老的兴趣点(Moravec,Harris,好的功能)和最近的一小部分(FAST)。

然后,通过以下方式实现了重大性能改进:点检测器和描述符的协同设计,这就是采用的方法筛选和冲浪。 为了简单起见,描述符没有被赋予特定的名称(尽管您可以注意到 SIFT 描述符和 HoG 特征彼此非常接近)。 这些描述符是实际价值(即浮点向量)。

最后,为了有快速运行时间在有限的硬件上,设计了原创的关键点检测器(FAST)。 FAST 依赖于简单binary测试。 然后使用相同的二进制测试方法来设计描述符,这就是您如何获得 Brief、BRISK、FREAK、ORB... 因此,你得到的是二进制描述符(比特流)。

最后,如果要总结的话:

  • 您可以根据需要交叉描述符和检测器。请注意,当检测器没有尺度时,您可能必须为需要它的描述符(SIFT、SURF)猜测一个(或强加一个默认尺度);
  • 只要每个图像具有相同类型的描述符,就可以使用任何匹配器。不同的是匹配器使用的特征距离;
  • SIFT 和 SURF 是实际价值,因此需要使用匹配L2距离。最近的描述符(BRIEF、BRISK、FREAK、ORB)是binary并且距离必须用Hamming距离。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenCV:何时使用 GridAdaptedFeatureDetector? 的相关文章

  • 将迭代器取消引用到临时范围时出现非指针操作数错误

    Using auto empty line auto str return str size 0 我们做得到 auto line range with first non empty ranges view drop while range
  • 在 Visual Studio 中调试时向后拖动指令指针

    如需演示 请查看 基本上 我知道这在 Visual Studio Community Edition 2015 中是可能的 我想知道 a 这与 Intellitrace 和 历史调试 有关吗 b 这样做会有副作用吗 或者这只是将指令向后移动
  • 如何在 Ubuntu 上通过 pip 安装 python3 版本的软件包?

    我两者都有python2 7 and python3 2安装在Ubuntu 12 04 符号链接python链接到python2 7 当我输入 sudo pip install package name 它将默认安装python2的版本pa
  • 我应该在查询时调用 ToListAsync()

    不久前 我开始接触 C 并正在寻找一些如何编写代码的最佳实践 现在 我正在使用 EF Core 并具有以下代码 var details dbContext Details Where x gt x Name Button foreach v
  • 如何解析代码(Python)?

    我需要解析一些特殊的数据结构 它们采用某种类似 C 的格式 大致如下所示 Group GroupName C Style comment Group AnotherGroupName Entry some variables 0 3 141
  • 在 QtCreator 中查看数组内容

    调试时是否可以在 Qt Creator 中查看数组的内容 似乎检测到我的数组是一个数组而不是一个指针 此外 我可以点击一个箭头 就像展开一样 但之后什么也没有显示 当我试穿的时候std vector Qt Creator 设法按预期显示内容
  • 在 Winforms 中,PreviewKeyDown() 从未针对任何键触发

    我最初试图让我的程序获取箭头键 上 下 左 右 的输入 但发现在 KeyDown 中这些键从未出现过 后来我发现我可以通过进入 PreviewKeyDown 函数并设置来启用箭头键 e IsInputKey true 及其周围的任何条件和逻
  • 串行端口轮询和数据处理

    我正在尝试通过微控制器从传感器的多个串行端口读取数据 每个串口将接收超过2000个测量值 每个测量值7个字节 全部为十六进制 而且他们同时开火 现在我正在从 4 个串行端口进行轮询 另外 我将每个测量值转换为字符串并将其附加到字符串构建器
  • 自定义编译器警告

    在 Net 中使用 ObsoleteAtribute 时 它 会向您发出编译器警告 告诉您该对象 方法 属性已过时 应使用其他内容 我目前正在从事一个需要大量重构前员工代码的项目 我想编写一个自定义属性 可用于标记方法或属性 这些方法或属性
  • C# - 使用 Linq 获取 Attribute 的属性

    我有一个属性 它本身就有属性 我想访问这些属性之一 布尔值 并检查它是否正确 我能够检查属性是否已设置 但这就是全部 至少对于 linq 来说是这样 属性 public class ImportParameter System Attrib
  • 带日志图的 Type 1 字体

    我正在尝试使用 Matplotlib 图表作为相机就绪的一部分 提交 出版社要求使用Type 1字体 仅有的 我发现 PDF 后端很乐意输出 Type 1 字体 具有线性 Y 轴的简单图形 但输出 Type 3 字体 对数 Y 轴 使用对数
  • python:Windows终端中的unicode,使用的编码?

    我在 Windows 7 终端中使用 Python 解释器 我正在尝试了解 unicode 和编码 I type gt gt gt s gt gt gt s x89 gt gt gt u u gt gt gt u u xeb 问题1 字符串
  • hashlib 和 urandom 哪个更随机?

    我正在和一个朋友一起开发一个项目 我们需要生成随机哈希 在我们有时间讨论之前 我们都提出了不同的方法 并且因为他们使用不同的模块 我想问你们大家什么会更好 如果有这样的事情的话 hashlib sha1 str random random
  • C/C++ 特殊 CPU 功能的使用

    我很好奇 新的编译器是否使用了新 CPU 中内置的一些额外功能 例如 MMX SSE 3DNow 所以 我的意思是 在最初的 8086 中甚至没有 FPU 所以旧的编译器甚至不能使用它 但新的编译器可以 因为 FPU 是每个新 CPU 的一
  • 使用 std::set 时重载运算符<

    这是我第一次使用 std set 容器 并且我对操作符 std less 遇到了问题 我声明该集合 std set
  • 如何检查多个变量是否等于同一值?

    如何比较多个项目 例如 我希望检查所有变量 A B 和 C 是否都等于字符 X 或所有三个变量都等于 O 如果其中 2 个为 X 1 个为 O 则应返回 false I tried if A B C X A B C O Do whateve
  • 捕获 System.Exception 总是不好的做法吗?

    请考虑下面的代码 它抛出三个不同的异常 即 System Configuration ConfigurationErrorsException System FormatException and System OverflowExcept
  • Python 用 lambda 函数封闭作用域变量

    我写了这个简单的代码 def makelist L for i in range 5 L append lambda x i x return L 好的 现在我打电话 mylist makelist 因为稍后调用嵌套函数时会查找封闭范围变量
  • Mac OS X 上的 Python 框架和非框架构建之间的差异

    Question Mac OS X 上的 Python 框架构建和非框架构建 即标准 UNIX 构建 之间有什么区别 另外 各自的优点和缺点是什么 初步研究 以下是我在发布此问题之前找到的信息 Pythonmac SIG Why is Fr
  • 使用按钮从 Django 项目根下载文件

    So this is the webpage I m creating atm with Django 1 8 希望用户能够将数据导出为 csv 当用户 在框中写下 Reddit 子版块名称 按下 获取数据 按钮 会发生什么 它创建了一个

随机推荐