问题标签 [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 投票
1 回答
413 浏览

opencv - Features2d + Homography 没有给出适当的结果

我正在尝试使用 SurfFeatureDetect 和 FLANN 匹配器检测对象。但是,该代码无法准确检测图像。我还以图片格式发布了结果。

在此处输入图像描述
这是我在 opencv 教程网站上的代码

0 投票
1 回答
5269 浏览

c++ - 基准标记 - OpenCV - 特征检测和匹配

有人会分享他们关于 OpenCV 特征检测和基准标记提取的知识吗?

我试图在场景中找到一个基准标记(见下图)(使用 MS Paint 自行创建的 ARTag 样式)。

在此处输入图像描述

使用 Harris 角点检测,我可以充分定位标记图像的角点。同样,使用 Harris 角点检测,我可以找到场景中标记的大部分角点。然后我使用 SIFT 提取标记图像和场景图像的描述符。然后我尝试了 BF 和 FLANN 进行特征匹配。然而,两种匹配算法都倾向于将错误的角点匹配在一起。

我可以做些什么来提高准确性吗?还是有其他更适合此应用的检测方法?

部分代码:

0 投票
2 回答
1769 浏览

python - OpenCV Python:使用 FlannBasedMatcher 时偶尔会出现分段错误

我正在尝试使用 SURF 和 kNN 对对象进行分类。该代码运行良好,但偶尔会崩溃并显示“分段错误”。我不确定我是否做错了什么,但我很确定它已得到纠正。如果您想重现问题,这是输入文件。

下载数据集的链接

在编写此代码之前,我尝试创建一个包含所有训练数据并且只匹配一次的 kNN 模型。然而,它总是失败并导致“flann.add(descriptors)”处的分段错误。

非常感谢你的帮助。

0 投票
1 回答
1961 浏览

c++ - OpenCV Flann - 断言失败

我一直在尝试设置一个基本的 3D 点 flann knnsearch,但到目前为止还没有成功让它工作。我尝试了许多不同的方法,但都返回错误。有一段时间我cv::flann::Index kdtree(cv::Mat(cvPointCloud).reshape(1), indexParams);抱怨类型不匹配有问题。但似乎我不再看到那个错误,但是这个错误已经取代了它,我不知道该怎么办。

OpenCV Error: Assertion failed (mtype == type0 || (CV_MAT_CN(mtype) == CV_MAT_CN (type0) && ((1 << type0) & fixedDepthMask) != 0)) in cv::_OutputArray::create, f ile E:\opencv\source\modules\core\src\matrix.cpp, line 2280

我的代码:

如果有人能指出我正确的方向,我将不胜感激!

0 投票
1 回答
1819 浏览

python - 在 python 中输出 FLANN 结果

我目前正在使用 FLANN 实现 LSH。

des1 是我的查询图像的二进制描述符,而 flann 是 flanbasedmatcher(使用 FLANN LSH 算法)变量,它具有图像数据库的所有二进制描述符。

如何输出 knnMatch 的结果?

0 投票
1 回答
1405 浏览

matlab - Matlab 缺少依赖项 MEX 文件

我在 matlab 中有一个调用其他库的脚本。我在 linux 上使用 matlab 版本 2012a。我得到以下错误,我不知道如何解决它。

错误是:

无效的 MEX 文件“/home/XXX/nearest_neighbors.mexa64”:libflann.so.1.8:无法打开共享对象文件:没有这样的文件或目录

flann_search 错误(第 82 行)[indices,dists] = nearest_neighbors('find_nn', data, testset, n, params);

MyScript 中的错误(第 73 行)[nresult, ndists] = flann_search(Ntraindata', Ntraindata', resu.KNN, struct('algorithm','composite',...

0 投票
1 回答
1044 浏览

c++ - flann dependency to matlab - MEX

I faced below error when I tried to install the flann library from the source on the ubuntu machine.

/flann-master/src [72] mkdir build

/flann-master/src [73] cd build

/flann-master/src/build [74] cmake ..

CMake Warning (dev) at cpp/CMakeLists.txt:3 (add_definitions): Policy CMP0005 is not set: Preprocessor definition values are now escaped automatically. Run "cmake --help-policy CMP0005" for policy details. Use the cmake_policy command to set the policy and suppress this warning. This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error at cpp/CMakeLists.txt:114 (install): install TARGETS given no LIBRARY DESTINATION for shared library target "flann_cpp".

CMake Warning (dev) in CMakeLists.txt: No cmake_minimum_required command is present. A line of code such as

cmake_minimum_required(VERSION 2.8)

should be added at the top of the file. The version specified may be lower if you wish to support older CMake versions for this project. For more information run "cmake --help-policy CMP0000". This warning is for project developers. Use -Wno-dev to suppress it.

-- Configuring incomplete, errors occurred!

/flann-master/src/build [75]

The solution to this was mentioned in another question. I should be in the root directory (containing bin, src, examples etc) and it solved. And there is another missing part in the documentation that I should run

make install

As I am sudoer on the remote machine, I need to install it on my home directory. So, I created a new directory outside of the flann (flanninstall) and I tried below command.

cmake -DCMAKE_INSTALL_PREFIX=/home/eson/matlab/flanninstall/ ..

I hope it helps me to generate the files in my home directory and I can copy or link them to matlab. However, I copy the files from this address to current directory that I am working on my script in matlab. I still get below error.

-> g++-4.4 -c -I/usr/local/MATLAB/2012a/extern/include -I/usr/local/MATLAB/2012a/simulink/include -DMATLAB_MEX_FILE -ansi -D_GNU_SOURCE -fPIC -fno-omit-frame-pointer -pthread -DMX_COMPAT_32 -O -DNDEBUG "nearest_neighbors.cpp"

nearest_neighbors.cpp:35: fatal error: flann/flann.h: No such file or directory compilation terminated.

mex: compile of ' "nearest_neighbors.cpp"' failed.

Error using mex (line 206) Unable to complete successfully.

Earlier @rayryeng helped me on the MEX setup but when I try to run below command I faced earlier problem.

mex -v -O nearest_neighbors.cpp

I appreciate your advice.

0 投票
3 回答
14820 浏览

c++ - OpenCV 3 中的 FLANN 错误

我正在运行 Ubuntu 14.04。我正在尝试使用 openCV 3 运行 FLANN,但出现错误。

使用 AKAZE 和 ORB 尝试了下面的所有内容,但如果我尝试使用 ORB 则代码。

我使用 ORB 来查找描述符和关键点。

使用 ORB 后,我使用以下代码查找匹配项:

代码构建良好,一切正常。当我运行代码时,我收到此错误:

谁能告诉我为什么?OpenCV 3 是否处于 BETA 状态?有没有 FLANN 的替代品(BFMatcher 除外)

0 投票
2 回答
2424 浏览

java - 用于 OpenCV Java 的 FLANN

OpenCV C++ 中的 FLANN 匹配器工作正常,但环顾四周,OpenCV Java 中似乎没有 FlannBasedMatcher 的包装器,但我发现了两种可能的(?)解决方法,我不太确定如何使用。

首先是对上一个问题的回答:

http://answers.opencv.org/question/12429/matching-orb-descriptors-with-flann-lsh-on-android/?answer=12460#post-id-12460

但我不太确定他所说的“使用通用匹配器工厂创建匹配器并设置参数”是什么意思

另一种选择是使用 JavaCV,它似乎有一个 flann 的实现:

https://github.com/bytedeco/javacpp-presets/blob/master/opencv/src/main/java/org/bytedeco/javacpp/opencv_flann.java

我一直在使用原始 OpenCV Java 库在 android 上开发应用程序,但我想知道,是否可以同时使用 JavaCV,以便我可以使用 JavaCV 的 FLANN 函数,或者同时使用这两个库不起作用? 或者有谁知道如何使用第一个答案的建议?

任何帮助将不胜感激,谢谢。

0 投票
1 回答
1013 浏览

c++ - 弗兰编译错误

我在编译 FLANN 库时出错,这里是:error C2228: left of '.serialize' must have class/struct/union C:\FLANN\libraries\flann-1.8.4-src\flann-1.8.4-src \src\cpp\flann\util\serialization.h

这是我编译 FLANN 的所有配置的图片,请帮助我。ALL_BUILD 项目生成 flann_cpp_s.lib,但不生成 flann.lib

在此处输入图像描述

提前谢谢!!!