问题标签 [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.
python - 属性计算在来自 openCV for python 的 ORB 中不起作用
我开始学习 Python(2.7)并尝试研究计算机视觉(使用模块 openCv“cv2”)。我使用 OpenCV 2.4 版。
我目前正在尝试运行本教程中的一个示例,该示例位于 ORB(面向球体的快速旋转简要)上,这将帮助我跟踪视频中的对象。
问题是运行示例时出现错误(我只是更改图像加载以使此示例可重现):
然后我有以下消息错误:
我不明白为什么这个对象不存在这个属性。我的脚本会抑制它吗?
非常欢迎任何帮助。
非常感谢。埃德温
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 具有不同描述符的结果:
opencv - 查找 ORB 特征描述符之间的汉明距离
我正在尝试编写一个函数来匹配 ORB 功能。我没有使用默认匹配器(bfmatcher、flann 匹配器),因为我只想将图像中的特定特征与其他图像中的特征匹配。
我看到 ORS 描述符它是一个二进制数组。
我的查询是如何匹配 2 个特征,即如何找到 2 个描述符之间的汉明距离?
ORB 描述符:
谢谢。
android - 使用 ORB 逐步进行对象检测
我必须创建一个 Android 应用程序来识别来自相机的一些对象(汽车方向盘、车轮)。我尝试使用 Haar 分类器,但没有成功,而且我的时间不多了(这是一个学校项目)。所以我决定寻找另一种方式。我为我的目标找到了一些其他方法 - ORB。我发现我应该在这个答案中做什么。我的问题是我脑子里的事情搞砸了。您能否逐步回答我如何执行我给出的链接中问题的答案:
从提取特征点到训练 KD 树并将其用于相机的每一帧。
额外问题:你能给出特征点的定义吗?这是我无法完全理解的事情。使用 ORB 检测会慢吗?我知道 OpenCV 可以在原生 android 中使用,这不是让事情变得更快吗?
我需要尽快创建这个应用程序。请帮忙!
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?
android - ORB/Bruteforce 不一致匹配
我正在使用 ORB 和 Bruteforce 来识别 android 和 C++ 的对象。但是,在两种语言中使用相同的流程,结果似乎不一致或不同。例如,使用 C++,它给出 21 个匹配项,而在 android 中有 15 个匹配项。顺便说一句,我在两个测试中都使用了两个相同的图像。
我的 C++ 实现:
对于Java:
注意:我正在计算从相同输入中给出不同结果的好的匹配。
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)
c++ - 如何使用 opencv 2.4.9 在 ORB 中获得有效的结果?
在这里,我在两个图像之间执行模板匹配。我使用 ORB 算法提取关键点并将其与 BF Matcher 匹配,但我没有得到好的结果。在这里我添加图像以了解问题
在这里,您可以看到泰迪熊上的深蓝色线,它实际上是一个矩形,当通过匹配的关键点识别对象时,它将从帧图像中围绕对象绘制。这里我使用的是 Opencv 2.4.9,我应该做哪些改变才能获得好的结果?
opencv - 是否有任何检测器在 GPU 上实现并且是缩放/旋转不变的?
正如 OpenCV 2.4.9.0 中已知的这些特征检测器:SIFT, SURF, BRISK, FREAK, STAR, FAST, ORB
.
- http://docs.opencv.org/modules/features2d/doc/feature_detection_and_description.html
- http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_feature_detectors.html
所有这些都在 CPU 上实现,但仅FAST
在ORB
GPU 上实现。http://docs.opencv.org/genindex.html
众所周知,有些是尺度/旋转不变的,但有些不是:对于尺度不变的特征提取,是否有 SURF 和 SIFT 的快速替代方案?
这些是尺度不变和旋转不变的:
- 筛
- 冲浪
- 轻快
- 怪物
- 星星
但这些不是尺度不变的,也不是旋转不变的:
- 快速地
- 宝珠
是否有任何检测器在 GPU 上实现并且是缩放/旋转不变的?
还是会在 GPU 或 OpenCL 上的 OpenCV 3.0 中添加?
c++ - opencv c++ ORB 词袋
在阅读了这篇论文以及许多answers.opencv
问题之后,我想知道是否有 ORB Bag Of Words 的代码示例?我只能找到SURF
或SIFT
示例。