关于opencv flann 的KDtree 5C

最近用opencv flann 中的kdtree。发现opencv中的kdtree速度要比matlab慢大约10倍,matlab用的是lowe的flann程序的matlab接口。请教大神,这是为什么呢?opencv本来就慢,还是我设置的有问题呢?

0

1个回答

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
OpenCV——KD Tree(介绍完整的flann邻近搜索)
关于OpenCV的FLANN库中KD-Tree搜索的文章并不多。 FLANN搜索的流程包括索引的建立和搜索。而所谓kd-tree搜索,指的是在建立索引这一步骤中建立的是kd-tree索引。 本文将结合实例,较为完整地介绍FLANN(近似近邻的快速搜素库)里各种类型“索引建立”及“搜索方式”。
opencv学习笔记三十三:FLANN匹配
FLANN库全称是Fast Library for Approximate Nearest Neighbors,它是目前最完整的(近似)最近邻开源库。不但实现了一系列查找算法,还包含了一种自动选取最快算法的机制。 OpenCV提供了 两种Matching方式 :  BFMatcher FlannBasedMatcher BF(Brute Force)就是用暴力方法找到点集一中每个descript...
同时使用PCL和OpenCV进行KD-tree时,会出现 kdtreeflann使用未定义的 struct“flann::SearchParams”错误
在项目文件->右键属性->VC++目录->包含目录和库目录中,将PCL设置在OpenCV前面。 如果用的属性管理器,在相应的属性表上,右键->在评估过程中延迟/在评估过程中提前。 ...
用flann实现K近邻查找的例子
flann::Matrix dataset(new float[N*dim], N, dim); TriMesh::Point p; for (TriMesh::VertexIter vit = mesh.vertices_begin(); vit != mesh.vertices_end(); vit++) { p = mesh.point(*vit); dataset[vit
flann中关于indexParam的使用说明
今天研究了一下opencv中的FLANN库,踩坑一下午,遇到问题:OpenCV Error: Unsupported format or combination of formats (type=5) 在stackoverflow下也没人解决,所以特意记录下。 在库中使用Index类,完成knn的查找。其构造函数为:  Index(InputArray features, const
OpenCV实现SIFT+KD tree+RANSAC图像拼接
在VC2010环境下实现sift+kd tree+RANSAC图像拼接,本人已经成功调试。
基于KDTree的KNN实现
KNN算法的KD树实现,涉及排序、top K等算法问题
关于PCL和OpenCV库冲突的问题
问题描述  error C2079: “pcl::KdTreeFLANN>::param_k_”使用未定义的 struct“flann::SearchParams” 选中SearchParams,点击转到定义,会发现转到了miniflann.h文件,该文件的目录处于OpenCV的包含目录中opencv\build\include\opencv2\flann。 解决办法 将PCL的头文件
KDtree的建立以及KDtree的最近邻域搜索
KDtree的建立以及基于KDtree的最近邻域搜索。代码简单易懂实用
FLANN特征匹配(Python)
输入图片 算法输出图 可以看到,这里的算法效果比之前的ORB算法要好很多了! 可以点击来访问一下,就知道差别了~ ORB特征匹配(python) 代码 import cv2 from matplotlib import pyplot as plt queryImage = cv2.imread('6.jpg', 0) trainingImage = cv2.imread...
KDTree简单理解
简单的介绍KDTree的含义
KDTree三维点创建查询
kdtree三维点建立 查询最近点 KDTree三维点创建查询
解决flann和opencv中的flann冲突
flann和cv::flann冲突的解决方案
Flann特征点匹配简述(Lowe's algorithm)
/***好记性不如烂笔头,记下来便于以后复习***/              特征匹配的结果会得到两个特征集合的对应关系列表。第一组特征集被称为训练集(train),第二组被称为查询集(query)。Flann 在调用匹配函数之前,为了提高匹配速度,训练一个匹配器。训练阶段是为了优化cv::FlannBasedMatcher的性能。train类将会建立特征集的索引树。将 query image...
使用Flann库查找点云中的最近点代码
之前使用了PCL库中的KdTreeFlann来查找点云中的最近点,但是为了这个功能而去包含PCL库就有点划不来了,而且PCL库中的KdTreeFlann是基于Flann库实现了,所以直接使用Flann库提供的函数实现该功能,代码如下:void searchNearestPoints(const double * vSourcePoints, int iSourceNum, const doubl...
Opencv Flann库的讲解
首先贴出来一个链接,我觉得已经讲的很不错了。 http://blog.csdn.net/jasonding1354/article/details/44038539
opencv3中FLANN结合SURF进行关键点的描述和匹配
#include #include #include using namespace cv; using namespace std; int main() { Mat srcImage = imread("NIBook.jpg"); imshow("【原图】", srcImage); //对BGR空间的图像直接进行计算很费时间,所以,需要转换为灰度图 Mat srcGrayImag
OpenCV学习笔记-FLANN匹配器
FLANN是快速最近邻搜索包(Fast_Library_for_Approximate_Nearest_Neighbors)的简称。它是一个对大数据集和高维特征进行最近邻搜索的算法的集合,而且这些算法都已经被优化过了。在面对大数据集是它的效果要好于BFMatcher。使用FLANN匹配,我们需要传入两个字典作为参数。这两个用来确定要使用的算法和其他相关参数等。第一个是indexParams。配置我...
opencv学习(二十九)特征检测匹配SURF/BruteForceMatcher/Flann快速匹配//寻找已知物体//ORB特征提取
1, 一般Surf匹配思路步骤 2, 基于FLANN的描述符匹配大致就是替代了上步骤中的第三步BruteForceMatcher暴力匹配 3, Sift(尺度不变性)暴力匹配 Surf相比sift速度更快(3倍) 具体程序只是将SiftFeatureDetector替换SurfFeatureDetector 4, 寻找已知物体 5, ORB特征提取 号称...
Python opencv 图像相似度匹配之SIFT+FLANN
原文地址:https://www.cnblogs.com/Lin-Yi/p/9433942.html 代码如下: # coding:utf-8 import cv2 """ FLANN是类似最近邻的快速匹配库 它会根据数据本身选择最合适的算法来处理数据 比其他搜索算法快10倍 """ # 按照灰度图片读入 img1 = cv2.imread("../data/logo1...
opencv——SURF特征点检测并使用Flann算法匹配
    记录一下学习过程,话不多说贴代码:#include <opencv2/core/core.hpp> #include <opencv2/features2d/features2d.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/flann/flann.hpp> #in...
Opencv学习二十七FLANN特征点匹配
** 前言 **
PyFlann 使用方法
PyFlann 使用方法PyFlann 其实是 FLANN 的 python 接口,当前支持python2 和 python3。FLANN 的意思是Fast Library for Approximate Nearest Neighbors,也就是快速解决最近点搜类问题的库。这一类问题,是一个在尺度空间中寻找最近点的优化问题。
OpenCv-C++-平面对象识别(接FLANN特征匹配)
本文接着上篇FLANN特征匹配,从上篇可以知道,如果特征匹配时全部是用线进行匹配,那么真的让人看着很窝心。那么,可不可以把匹配到的结果用矩形或圆表示出来呢?当然可以,这就是平面对象识别。是上一章节的更进一步。这里主要用到两个新的API: 1、findHomography() ------>发现两个平面的透视变幻,生成透视变换矩阵 2、perspectiveTransform() -----...
《PCL点云库学习&VS2010(X64)》Part 49 OpenCV与FLANN混合使用时uchar相互冲突的解决方法
《PCL点云库学习&VS2010(X64)》Part 49 OpenCV与FLANN混合使用时uchar相互冲突的解决方法 同时使用opencv和pcl库的朋友都遇到过来这个头痛的问题——Flann冲突。究其根本是因为两个库同时使用了flann,造成歧义,同时FLANN中的matrix.h文件和OpenCV的types_c.h文件中都定义了uchar,编译时就会造成未定义标识符等编译错误...
Opencv实现图像无缝拼接,Sift查找特征点,Flann进行匹配
Sift和Surf算法实现两幅图像拼接的过程是一样的,主要分为4大部分: 1. 特征点提取和描述 2. 特征点配对,找到两幅图像中匹配点的位置 3. 通过配对点,生成变换矩阵,并对图像1应用变换矩阵生成对图像2的映射图像 4. 图像2拼接到映射图像上,完成拼接 代码如下: #include "highgui/highgui.hpp" #include "opencv2/no
利用SURF特征检测和FLANN最近邻算法实现图像的目标提取
标题中提到的方法的具体应用场景如下: ⑴以图搜图,如果两幅图的特征点得到了匹配,认为是同一幅图像,比例不一样也无所谓 ⑵目标在图中,通过匹配提取出原图中的目标 ⑶以后想到再补充,.... SURF特征检测上一篇博文已经介绍过了,这里不再赘述,关键的问题是图像的特征被描述出来之后,怎样快速粗选出哪些点属于匹配点,如果不采用算法进行优化,那么这一部分的运算量是相当大的,FLANN最近邻算法的功...
opencv学习笔记三十五:基于透视变换的FLANN匹配对象检测
 步骤:先用SURF描述子检测关键点,再利用FLANN匹配对关键点进行筛选匹配,最后利用透视变换将匹配后的对象画出来。 #include<opencv2\opencv.hpp> #include<opencv2\xfeatures2d.hpp> using namespace cv; using namespace xfeatures2d; using namespa...
0052-OpenCV下使用FLANN加速特征匹配的检索
当用相关算法检测到两幅图的特征点后,我们一般要进行匹配操作,一般的搜索方法因为数据量大而造成时间的开销大,这个时候,如果使用FLANN(即Fast Approximate Nearest Neighbor Search Library),会减小不少运算量。相关的原理大家请大家参考相关资料,这里给出示例代码。 代码如下: 代码中用到的图像下载链接:https://pan.baidu.com/s/1...
使用FLANN算法纠正图像匹配
import numpy as np import cv2 from matplotlib import pyplot as plt MIN_MATCH_COUNT = 10 img1 = cv2.imread('C:/Users/Administrator/Desktop/1010test/1.jpg',0) img2 = cv2.imread('C:/Users/Administrator...
KNN(三)--KD树详解及KD树最近邻算法
之前blog内曾经介绍过SIFT特征匹配算法,特征点匹配和数据库查、图像检索本质上是同一个问题,都可以归结为一个通过距离函数在高维矢量之间进行相似性检索的问题,如何快速而准确地找到查询点的近邻,不少人提出了很多高维空间索引结构和近似查询的算法。     一般说来,索引结构中相似性查询有两种基本的方式: 一种是范围查询,范围查询时给定查询点和查询距离阈值,从数据集中查找所有与查询点距离小于阈值的...
点云库PCL学习——kd-tree
首先按照书上的内容写了kd-tree的代码,如下 #include <pcl/point_cloud.h> #include<pcl/kdtree/kdtree_flann.h> #include<iostream> #include<vector> #include<ctime> using namespace std; int ma...
OpenCV—python 角点特征检测之三(FLANN匹配)
四、FLANN匹配 相对暴力匹配BFMatcher来讲,FLANN匹配算法比较准确、快速和使用方便。FLANN具有一种内部机制,可以根据数据本身选择最合适的算法来处理数据集。值得注意的是,FLANN匹配器只能使用SURF和SIFT算法来检测角点。 FLANN 是快速最近邻搜索包(Fast_Library_for_Approximate_Nearest_Neighbors)的简称。它是一个对大数据集...
error C2872: “flann”: 不明确的符号 --- PCL 与OpenCV2 的flann命名空间冲突问题的解决方法
error C2872: “flann”: 不明确的符号 — PCL 与OpenCV2命名空间冲突问题的解决方法error C2872: “flann”如果你在编译你的程序的时候,出现了这样的错误:error C2872: “flann”: 不明确的符号 1> 可能是“flann” 1> 或 “cv::flann”说明你在你的程序中,你同时使用了:PC
【特征匹配】SIFT原理之KD树+BBF算法解析
继上一篇中已经介绍了SIFT原理与C源码剖析,最后得到了一系列特征点,每个特征点对应一个128维向量。假如现在有两副图片都已经提取到特征点,现在要做的就是匹配上相似的特征点。 相似性查询有两种基本方式:1.范围查询:即给点查询点和查询阈值,从数据集中找出所有与查询点距离小于阈值的点。                           2.K近邻查询:给点查询点及正整数K,从数据集中找到与查询
FLANN和SURF搭配动态匹配特征点
FLANN和SURF搭配匹配特征点
FLANN算法+RANSAN算法的特征点的匹配(附代码)
FLANN 是快速最临近邻搜索包的简称Fast_Library_for_Approximate_Nearest_Neighbors的简称。它是一个对大数据集和高维特征进行最近邻搜索的算法的集合。 特点:在面对大数据集时它的效果要好于 BFMatcher。 使用FLANN算法进行匹配时,需要传入两个字典作为参数。这两个字典是为了确定要使用的算法和其他相关参数等。 第一个字典是 IndexPar...
机器人三维视觉 pcl 点云库 点云存储 KDtree OCtree 近邻搜索 半径搜索
机器人三维视觉 pcl 点云库 点云存储 KDtree OCtree 近邻搜索 半径搜索 博文末尾支持二维码赞赏哦_ 点云数据管理 点云压缩,点云索引(KDtree、Octree),点云LOD(金字塔),海量点云的渲染KDTree  一种递归的邻近搜索策略  kd树(k-dimensional树的简称),是一种分割k维数据空间的数据结构。 主要应用于多维空间关键数据的搜索(如:范围搜索...
FLANN特征匹配
FLANN特征匹配 特征的概念: 一个图像块是由相似平面组成,其在原图像中会有大量相同的区域。 一个图像块取自原图像的边缘,其具有横向或纵向的差异性,而在与该方向垂直的角度上相同。 一个图像块取自原图像的角点,其具有移动后的不同性。…[其它具有不同特点的图像块] 好的图像特征应具有唯一性,即选取该图像周围的一块区域进行移动,其视觉印象会不同 图像的特征工程: 特征提取:寻找易于追踪和对比的特...
FLANN算法特征匹配
利用OpenCV和vs2015,FLANN算法进行特征点匹配。。。。。