问题标签 [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.
opencv - 如何从小尺寸图像中提取更多关键点?
我试图从一些小尺寸图像(例如 176*146 像素)中获取尽可能多的关键点。但我必须说,我失败了。
我的想法是计算每个关键点的描述符并将其存储到数据库/词袋中,因此可以通过仅计算相似描述符的方式将相似图片识别为数据库内已经存在。
我的问题是小分辨率图片。我已经尝试了 openCV 中几乎所有可用的特征提取器/描述符。Sift、Surf、ORB、Dense、AKAZE 等。对于小尺寸图像,每种方法都失败了。
我能做些什么来获得更强大的关键点?
python - 计算使用 ORB 计算的匹配之间的阈值距离
我正在使用 ORB 比较两个图像中的特征,以找到它们之间的相似性。
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches = bf.match(des1,des2)
distance=maches[i].distance
有没有办法找到阈值距离来评论特征的相似程度?我检查距离是否 < threshold_distance 则特征相似,否则不相似。
python-2.7 - ORB中的匹配错误与opencv 3
目前我正在使用 python 处理 opevcv 但是当我使用
我收到未定义匹配器的错误
,我在 python 2.7 中使用 opencv 3.0.0,谁能告诉我为什么会出现这个错误?我们可以在 python 中使用 matcher 吗?
python-2.7 - 使用 ORB 检查重复图像
目前我正在检查重复的图像,所以我正在使用 ORB,第一部分几乎完成,我有两个图像的描述符向量,现在作为第二部分我想知道我们如何使用汉明计算分数距离,以及说这些是重复的阈值应该是多少
我只想知道这个过程的下一步,以便最终我可以打印重复项的是或否。我在 python 2.7 中使用 opencv3.0.0
java - ORB.destroy() 没有正确清理并且 ORB 对象实例没有被垃圾收集
问题:ORB.destroy() 没有正确清理并且 ORB 对象实例没有被垃圾收集。
JDK5 提出了这个问题,并在此处记录的更高版本中修复了 http://bugs.java.com/view_bug.do?bug_id=6354718。我们正在使用 JDK7 并且仍然看到文件描述符已打开以进行连接并且永远不会被释放作为立即解决方法我们增加了 OS FB 限制(但有一天这个问题会再次袭击我们)。
对于每个连接,我们使用命令“lsof -p process-id”在下面看到这个
命令 PID 用户 FD 类型 设备尺寸/关闭节点名称
java 14674 xyz 106u IPv6 xyz 0t0 TCP *:xyz (LISTEN)
我们还尝试运行示例程序,该程序能够看到使用新 JDK6 和 JDK7 关闭的连接(使用 TCP Viewer 分析连接)。
不明白为什么 helloworld corba 程序可以正常工作,但在我们正在做的两种情况下都不能与我们的应用程序一起工作:
我们也尝试过,但它不会释放连接(其中 rootNamingContext 是 NamingContextExt 的实例):
python - 如何在 CV2 中的图像上使用 orb?
我希望在 28*28 灰度图像(手写数字)上使用 ORB(http://docs.opencv.org/3.1.0/d1/d89/tutorial_py_orb.html#gsc.tab=0),其中每个像素都有一个从 0 到 255 的数字。
这是我使用的代码:
但我不断收到此错误:
我该怎么做?为什么会出现这个错误?
更新
我似乎已经解决了这个问题的一部分。事实证明,orb 接受 float32 数字(不是 64)。
因此我更新了我的代码如下:
但现在我有以下错误:
c++ - 没有 ORB/BruteForce-drawing 匹配
我正在尝试编写一个程序,该程序使用 ORB 算法来检测和计算图像和视频的关键点,并使用 BruteForce 匹配器匹配描述符向量。我面临的问题是,每次我在 Visual C++ 上运行程序时,当我试图检测的对象不可见时,我的算法会在检测到的关键点之间绘制所有假定的匹配线(它匹配所有关键点)。当我试图检测的对象出现在图像中时,我不会遇到这个问题,事实上,我几乎没有遇到任何不匹配。
这是主要测试的简短序列:
• 将输入图像转换为灰度
• 将输入视频转换为灰度
• 检测关键点并从输入灰度图像中提取描述符
• 检测关键点并从输入灰度视频中提取描述符
• 匹配描述符(见下文)
请帮我找出问题所在。
image-processing - LSH 是关于将向量转换为二进制向量以获得汉明距离吗?
我读了一些关于 LSH 的论文,我知道它用于解决近似的 k-NN 问题。我们可以将算法分为两部分:
给定一个任意值的
D
维度(whereD
很大)向量,用一组N
(whereN<<D
)散列函数将其转换为N
维度的二进制向量。使用汉明距离,对从阶段 1 获得的给定二进制代码集应用一些搜索技术以找到 k-NN。
N
关键是使用 XOR计算维度向量的汉明距离很快。
无论如何,我有两个问题:
如果我们使用像 ORB 这样的二进制描述符,第 1 点仍然是必要的吗?既然 ORB 的描述符已经是二进制的,我们使用汉明距离来比较它们,为什么我们要执行第一点呢?
SIFT 描述的图像如何转换?每个 SIFT 描述符为 128 位,每个图像由一组描述符描述。所以我们有矩阵
descX128
(其中desc
是使用的描述符的数量),而 LSH 通常接受向量作为输入。