问题标签 [orb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
921 浏览

python - 属性计算在来自 openCV for python 的 ORB 中不起作用

我开始学习 Python(2.7)并尝试研究计算机视觉(使用模块 openCv“cv2”)。我使用 OpenCV 2.4 版。

我目前正在尝试运行本教程中的一个示例,该示例位于 ORB(面向球体的快速旋转简要)上,这将帮助我跟踪视频中的对象。

问题是运行示例时出现错误(我只是更改图像加载以使此示例可重现):

然后我有以下消息错误:

我不明白为什么这个对象不存在这个属性。我的脚本会抑制它吗?

非常欢迎任何帮助。

非常感谢。埃德温

0 投票
1 回答
743 浏览

opencv - 从文件加载数据时opencv的descriptor_extractor_matcher的不同匹配结果

我在descriptor_extractor_matcher.cpp示例中使用以下代码来计算img1的描述符(Mat descriptors01),将其写入我的磁盘并加载回来(Mat descriptors1)。(关键点的步骤相同,但代码几乎相同......)

...

计算和使用图像 2 的关键点和描述符,无需保存和加载。

我仅使用图像 1 的加载数据(关键点和描述符)进行匹配,因此对于描述符:描述符 1。

现在是这样的:如果我比较案例
A) 使用上面的代码进行计算、存储和加载;
B)仅使用加载的数据(不计算并再次存储)

对于匹配,我得到不同的结果,正如您在关键点以及匹配描述符的图片中看到的那样。我本来期望没有差异......我在这里错过了什么?我必须比较 2 个图像,并且不能将图像与一组存储的关键点及其描述符进行比较吗?

当然,顺便说一下,我对 [detectorType] [descriptorType] [matcherType] [matcherFilterType] [image1] [image2] [ransacReprojThreshold] 使用相同的值;)

非常感谢!

更新

似乎问题取决于描述符。使用加载的描述符适用于 SIFT 和 SURF,但不适用于 ORB 和其他。图像:案例 A 和 B 具有不同描述符的结果:

在此处输入图像描述

0 投票
1 回答
6813 浏览

opencv - 查找 ORB 特征描述符之间的汉明距离

我正在尝试编写一个函数来匹配 ORB 功能。我没有使用默认匹配器(bfmatcher、flann 匹配器),因为我只想将图像中的特定特征与其他图像中的特征匹配。

我看到 ORS 描述符它是一个二进制数组。

我的查询是如何匹配 2 个特征,即如何找到 2 个描述符之间的汉明距离?

ORB 描述符:

谢谢。

0 投票
1 回答
4248 浏览

android - 使用 ORB 逐步进行对象检测

我必须创建一个 Android 应用程序来识别来自相机的一些对象(汽车方向盘、车轮)。我尝试使用 Haar 分类器,但没有成功,而且我的时间不多了(这是一个学校项目)。所以我决定寻找另一种方式。我为我的目标找到了一些其他方法 - ORB。我发现我应该在这个答案中做什么。我的问题是我脑子里的事情搞砸了。您能否逐步回答我如何执行我给出的链接中问题的答案:

从提取特征点到训练 KD 树并将其用于相机的每一帧。

额外问题:你能给出特征点的定义吗?这是我无法完全理解的事情。使用 ORB 检测会慢吗?我知道 OpenCV 可以在原生 android 中使用,这不是让事情变得更快吗?

我需要尽快创建这个应用程序。请帮忙!

0 投票
1 回答
709 浏览

opencv - How to set ORB feature detector parameters in opencv-android

Normally, in opencv with c++ , there is no problems w.r.t set parameters,

but in android-opencv I can't achieve info about this.

Anybody could help me about this problem?

0 投票
0 回答
1154 浏览

android - ORB/Bruteforce 不一致匹配

我正在使用 ORB 和 Bruteforce 来识别 android 和 C++ 的对象。但是,在两种语言中使用相同的流程,结果似乎不一致或不同。例如,使用 C++,它给出 21 个匹配项,而在 android 中有 15 个匹配项。顺便说一句,我在两个测试中都使用了两个相同的图像。

我的 C++ 实现:

对于Java:

注意:我正在计算从相同输入中给出不同结果的好的匹配。

0 投票
1 回答
442 浏览

c++ - 使用 OpenCV OnCameraFrame 在 JNI 中内存不足崩溃

我调用了一个本地方法OnCameraFrame来检查当前帧的关键点并尝试找到与模板图像的关键点的良好匹配,计算哪个索引图像具有最佳匹配并返回索引。(这是一个物体识别应用程序)。问题是它的工作速度非常慢(3-4 fps,完成此方法需要 0.3 秒),并且在 10-20 帧后,它会因SIGSEGV code=1错误而崩溃。我意识到这可能是内存不足问题,但无法确定代码中的哪一部分会占用所有 RAM。希望你能帮忙。

编辑:在我的代码中添加了发布/删除,但现在我得到了像 @@@ ABORTING: INVALID HEAP ADDRESS IN dlfree:0: gralloc_module_lock: Cannot lock buffer ID=55438 before register (0x0)

0 投票
1 回答
11336 浏览

c++ - 如何使用 opencv 2.4.9 在 ORB 中获得有效的结果?

在这里,我在两个图像之间执行模板匹配。我使用 ORB 算法提取关键点并将其与 BF Matcher 匹配,但我没有得到好的结果。在这里我添加图像以了解问题从帧图像中查找对象图像

在这里,您可以看到泰迪熊上的深蓝色线,它实际上是一个矩形,当通过匹配的关键点识别对象时,它将从帧图像中围绕对象绘制。这里我使用的是 Opencv 2.4.9,我应该做哪些改变才能获得好的结果?

0 投票
2 回答
6444 浏览

opencv - 是否有任何检测器在 GPU 上实现并且是缩放/旋转不变的?

正如 OpenCV 2.4.9.0 中已知的这些特征检测器:SIFT, SURF, BRISK, FREAK, STAR, FAST, ORB.

所有这些都在 CPU 上实现,但仅FASTORBGPU 上实现。http://docs.opencv.org/genindex.html

众所周知,有些是尺度/旋转不变的,但有些不是:对于尺度不变的特征提取,是否有 SURF 和 SIFT 的快速替代方案?

这些是尺度不变和旋转不变的:

  • 冲浪
  • 轻快
  • 怪物
  • 星星

但这些不是尺度不变的,也不是旋转不变的:

  • 快速地
  • 宝珠

是否有任何检测器在 GPU 上实现并且是缩放/旋转不变的?

还是会在 GPU 或 OpenCL 上的 OpenCV 3.0 中添加?

0 投票
2 回答
2103 浏览

c++ - opencv c++ ORB 词袋

在阅读了这篇论文以及许多answers.opencv问题之后,我想知道是否有 ORB Bag Of Words 的代码示例?我只能找到SURFSIFT示例。