问题标签 [flann]

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 投票
2 回答
384 浏览

java - OpenCV Java API 中的 Flann 索引

如何在 Java 中使用 OpenCV 创建 Flann 索引?

我正在尝试对特征描述符进行 KNN 搜索。我在 Java API 中找不到等效的类。还是官方的 Java 绑定不完整?

C++ 类记录在这里:http ://docs.opencv.org/2.4/modules/flann/doc/flann_fast_approximate_nearest_neighbor_search.html#flann-index

0 投票
1 回答
195 浏览

machine-learning - 利用 FLANN 库进行多标签分类

我想利用 FLANN 库进行多标签分类。我知道 FLANN 库用于计算最近邻,但我不确定如何将其用于分类目的。有什么方法可以将它插入 Scikit-Learn 或其他库中。

0 投票
0 回答
457 浏览

c++ - 如何访问存储在 flann::Matrix 中的值

我正在使用带有点云的 flann 库。我有这个适配器方法可以将我自己的点转换为 flann 可用的点

这个方法的输出是

我不明白为什么从 flann::Matrix、Y 和 Z 打印是不同的。我一直在寻找一些关于 flann::Matrix 存储过程的文档,但我找不到任何答案。我认为我的数组类型访问是正确的,但它不起作用。

提前致谢。:D

0 投票
1 回答
829 浏览

c# - Opencv Surf 和 FlannIndex 在图像数据库中查找图像

我是 opencv 新手,在 C# 中使用 EMGU 作为包装器。我正在尝试从图像数据库中获取查询图像的最佳相似图像。

我按照此处所示的示例进行了后续工作。

它使用 SURF 检测器检测图像特征,然后将所有数据库图像描述符组合在一个超级描述符矩阵中进行匹配。

然后它使用 Flann 索引来查找查询图像的最近邻居。

问题是距离矩阵“dists”总是包含“0”值。

0 投票
2 回答
25945 浏览

c++ - C++ - 使用 ORB 的 OpenCV 特征检测

我正在尝试使用 ORB 进行检测和 FLANN 进行匹配来提取和匹配 OpenCV 的特征,我得到了一个非常奇怪的结果。加载我的 2 张图像并将它们转换为灰度后,这是我的代码:

这是我得到的奇怪结果的屏幕截图: 屏幕截图

可能是什么问题?

谢谢!

0 投票
0 回答
706 浏览

c# - 如何将 FLANN SURF 划分为特征提取并找到相似度?

我正在使用 SURF 算法来查找查询图像和存储在数据库中的集合图像之间的相似性。为了获得更好的性能,我使用了快速近似最近邻 (FLANN)。现在,我想将这项工作分为两个步骤:

第一步:计算数据库中所有图像的描述符,然后将所有描述符组合成一个大矩阵,最后构建 FLANN。

第二步:计算查询图像的描述符,并使用 FLANN 索引查找查询描述符和所有集合描述符之间的匹配。

谁能帮我?

FLANN.cs

程序.cs

0 投票
0 回答
576 浏览

opencv - 使用 Qualcomm Snapdragon 800 和 Adreno 330 进行硬件优化

我正在开发一个实时计算机视觉项目,该项目在带有 ARM CPU (Snapdragon 800) 的 Ubuntu (Linaro) 板上运行。

该软件的某些部分对高清图像、大量数据进行操作。这会减慢执行速度并成为瓶颈。

这些操作包括:

  • 查找二维数组(图像)中的所有局部最小值和最大值。目前,它是使用幼稚、琐碎的方式实现的。
  • 构建 KD-Tree 并执行 K-Nearest-Neighbors 搜索。目前这是使用 OpenCV 中包含的 FLANN 库完成的。

我正在寻找利用可用 Adreno 330 GPU 并加速这些计算的方法。

我正在查看 OpenCL,但我发现 Adreno 330 仅支持它作为“嵌入式配置文件”,我不知道它是什么,以及它如何影响事物。

我也听说过 ARM 处理器中的 NEON,但我不知道它对我有什么用处。

任何帮助、提示和链接将不胜感激。

谢谢,

阿维

0 投票
1 回答
1929 浏览

c# - 使用 emguCV 3.1.0 在图像集合中查找匹配图像

我正在开展一个项目,以从图像集合中识别(相似度百分比)图像。我使用了 EmugCV 3.1.0。代码如下。虽然程序运行,但它有以下问题

  1. 当匹配找到始终显示第一张图像的百分比时。找到附件

在此处输入图像描述

  1. 如果我们将相同的图像两次放入 dbimage 集合中,并将相同的图像作为查询图像,则所有匹配百分比为零。找到附件

    字符串[] dbImages = { imgPath + "1.jpg", imgPath + "2.jpg", imgPath + "3.jpg", imgPath + "4.jpg" }; 字符串 queryImage = imgPath + "4.jpg";

在这些图像中,图像“2”和“4”是相同的

在此处输入图像描述

代码如下

0 投票
0 回答
506 浏览

c - 加载共享库时出错:libflann.so.1.8:无法打开共享对象文件:没有这样的文件或目录

我尝试在远程服务器上编译 flann 库。我使用 root 权限编译并希望从服务器上已经存在的帐户运行。我收到以下错误。你能帮我弄清楚什么是错的。服务器是centos发行版。

0 投票
0 回答
456 浏览

opencv - OpenCV:在集群上运行 FLANN

我正在尝试为大量图像缩放“matching_to_many_images.cpp”。(20K+ 图像) https://github.com/kipr/opencv/blob/master/samples/cpp/matching_to_many_images.cpp

我使用基于 FLANN 的匹配器来匹配图像(使用 SURF 关键点和描述符提取器)。我尝试遵循本文中描述的方法(“在计算集群上搜索”部分) http://www.cs.ubc.ca/research /flann/uploads/FLANN/flann_pami2014.pdf ,

我有一个训练图像集 C,总共有 n 个图像。

C={B(1)...B(n)}。

我将集合 C 分成 N 个“桶”,其中每个桶包含 (n/N) 个图像。对于每个存储桶,我分别执行“detectKeyPoints”、“computeDescriptors”和“trainMatcher”。这意味着我为每个图像桶有一个单独的“DescriptorMatcher”。总共 N 个 DescriptorMatchers。

然后对于查询图像,我执行“detectKeyPoints”、“computeDescriptors”,然后对 N 个 DescriptorMatchers 中的每一个执行“匹配”。

最后从每个 DescriptorMatcher 接收 DMatch 列表,将 local-image-bucket-indices 映射到 global-image-index 并计算每个图像的匹配描述符数量。这个数字越大最接近查询图像。

我用 N=1 运行它,它给出了正确的结果。但是当我增加 N (>1) 时,我注意到我没有得到正确的匹配结果。

我的问题是:

1)我是否根据论文执行了正确的步骤?我试图了解如何按照论文中的描述完成“减少”步骤。

2)我可以从 DMatch 对象中提取两个因素;“距离”和“每张图像的总匹配数”。如何使用这两个因素找到最接近的匹配图像?