草庐IT

orb-slam2

全部标签

c++ - 在计算完一帧的SIFT或ORB后,如何实时跟踪视频中的目标?

基本上我想检测一个对象,而不是在视频中(逐帧)跟踪它。我可以使用ORB或SIFT在第一帧检测到它。但是对于接下来的帧(或者说接下来的XX帧),我想避免再次计算所有关键点(ORB或SIFT)以再次检测它。考虑到我想在视频中实时跟踪它,我该怎么办? 最佳答案 一个常见的选择是使用patchtracker。这意味着您只需在前一帧关键点周围8个像素的区域中搜索关键点。您可以对关键点周围的区域执行cv::matchTemplate(),而不是使用SIFT。执行金字塔搜索有助于提高帧率。您首先以较低的比例搜索,如果找不到关键点,则将比例加倍。如

c++ - ORB 未检测 opencv 2.4.9 中的关键点

我正在尝试使用ORB检测关键点,在我切换到Opencv2.4.9之前一切正常。首先,似乎键的数量减少了,对于某些图像,没有检测到关键点:这是我用两个版本编译的代码:(2.3.1和2.4.9)#include#include#includeusingnamespacecv;intmain(intargc,char**argv){Matimg=imread(argv[1]);std::vectorkp;OrbFeatureDetectordetector;detector.detect(img,kp);std::cout结果:2.3.1:找到152个关键点2.4.9:找到0个关键点我还用不

python - 与 ORB python opencv 匹配特征

嗨,我正在使用ORBpythonopencv进行匹配功能,但是当我运行这段代码时,我得到了这个错误追溯(最近一次通话):文件“ffl.py”,第27行,位于对于m,n匹配:TypeError:'cv2.DMatch'对象不可迭代我不知道怎么解决importnumpyasnpimportcv2importtimeESC=27camera=cv2.VideoCapture(0)orb=cv2.ORB_create()bf=cv2.BFMatcher(cv2.NORM_HAMMING,crossCheck=True)imgTrainColor=cv2.imread('/home/shar/h

python - OpenCV ORB 检测器发现非常少的关键点

我正在尝试使用ORB关键点检测器,它返回的点似乎比SIFT检测器和FAST检测器少得多。此图像显示了ORB检测器发现的关键点:这张图片显示了SIFT检测阶段找到的关键点(FAST返回相似数量的点)。如此少的点会导致图像间的特征匹配结果非常差。不过,我现在只是对ORB的检测阶段感到好奇,因为这似乎让我得到了不正确的结果。我已经尝试使用具有默认参数的ORB检测器以及下面详述的自定义参数。为什么会有这么大的差异?代码:orb=cv2.ORB_create(edgeThreshold=15,patchSize=31,nlevels=8,fastThreshold=20,scaleFactor=

python - OpenCV ORB 描述符 : TypeError: Incorrect type of self (must be 'Feature2D' or its derivative)

我遵循了这个简单的OpenCVFeatureMatchingexample正是:importcv2img=cv2.imread('box.png',0)#queryImageorb=cv2.ORB()#InitiateORBdetector#findthekeypointsanddescriptorswithORBkp1,des1=orb.detectAndCompute(img,None)出现以下错误:TypeError:Incorrecttypeofself(mustbe'Feature2D'oritsderivative)我正在使用OpenCV3.3.1

一起自学SLAM算法:13.2 运行SLAM构建地图

连载文章,长期更新,欢迎关注:写在前面第1章-ROS入门必备知识第2章-C++编程范式第3章-OpenCV图像处理第4章-机器人传感器第5章-机器人主机第6章-机器人底盘第7章-SLAM中的数学基础第8章-激光SLAM系统第9章-视觉SLAM系统第10章-其他SLAM系统第11章-自主导航中的数学基础第12章-典型自主导航系统第13章-机器人SLAM导航综合实战     13.1运行机器人上的传感器        13.2运行SLAM构建地图        13.3运行自主导航        13.4基于自主导航的应用在“xiihoo机器人”中推荐使用基于激光的Cartographer和基于视

【ORB-SLAM2配置】ubuntu16.04安装pangolin库 (详细流程,亲测有效!)

文章目录前言1.安装Pangolin所需依赖2.下载源码(旧版本)3.安装Pangolin(两种编译方法)4.Pangolin库测试遇到的问题解决方法前言Pangolin是一个用于OpenGL显示/交互以及视频输入的一个轻量级、快速开发库,下面是Pangolin的Github网址:https://github.com/stevenlovegrove/Pangolin下面介绍一下Pangolin的安装过程1.安装Pangolin所需依赖sudoaptinstalllibgl1-mesa-devsudoaptinstalllibglew-devsudoaptinstallcmakesudoapti

Ubuntu18.04+Android手机IMU+ROS Melodic跑ORB-SLAM2

Ubuntu18.04+Android手机IMU+ROSMelodic跑ORB-SLAM2前言一、ROSMelodic在ubuntu系统18.04版本上的安装二、基于ROS,ORB_SLAM2的安装、配置、运行SLAM单目实例1、前期SLAM环境配置2、ROS下安装ORB_SLAM23、运行单目SLAM实例(1)下载数据集(2)编译(3)结果三、Android手机摄像头与PC建立通信传输1、Android工具下载2、连接热点将PC和Android手机置于同一局域网下四、Android手机摄像头相机参数标定(1)采集并保存图片(2)进行标定新建一个工作目录(3)编译运行,标定(4)参数填入ORB

盘点机器人常用的几大主流SLAM算法

SLAM可以说是近几年最火的机器人技术之一,也是机器人领域的关键技术。不少同学表示,学了几年还在「爬坑」,甚至感觉「越学越难」。本文通过整理机器人领域常用的SLAM算法架构及特点,希望为大家的方向选择提供一些参考。01 SLAM是啥?我们先界定一下SLAM技术。SLAM,是指即时定位和地图构建,一种同时实现机器人自身定位和环境地图构建的技术。原理是使用相机、激光雷达、惯性测量单元等传感器,来收集环境信息,然后用算法将这些信息融合起来,以确定机器人在未知环境中的位置,并构建一张环境地图。通过SLAM技术,机器人可以在未知环境中进行自主探索和导航。像家用的扫地机,就是一个非常好的应用实例。 SLA

Ros Noetic 20.04 ORB-SLAM2-RGBD 稠密度建立地图实战

前言         由于ORB-SLAM2在构建的时候只在地图中保留了特征点,对于使用RGB-D相机的小伙伴而言,更希望得到一个点云地图。好在ORB-SLAM2这个框架结构清晰,只需要单独添加一个线程用于维护点云地图,将ORB-SLAM2生成的关键帧传入点云地图构建线程,利用传入关键帧来生成点云地图,这就是基本思路了。其实这个工作高翔博士在早期就已经做过了,并上传到了github中。我的系统属性:操作系统:ubuntu20.04ROS:Noetic版本依赖库版本:eigen3.1.0、pcl-1.12、opencv3.2、vtk6.2、octomap1.9网站上流行的方式分为两种:一种是对o