orb

OpenCV can't draw keypoints

落花浮王杯 提交于 2021-01-28 04:02:34
问题 I tried to run the example code shown for ORB in the openCV page. First I had to figure out the problem of cv2.ORB() (changed to cv2.ORB_create() , the after this error, appeared this: Traceback (most recent call last): File "orb.py", line 17, in <module> img2 =cv2.drawKeypoints(img,kp,color=(0,255,0), flags=0) TypeError: Required argument 'outImage' (pos 3) not found After doing a lot of things shown in blogs and manuals, I decided to add img to this function img2 =cv2.drawKeypoints(img,kp

weblogic-CVE-2020-2551-IIOP反序列化学习记录

老子叫甜甜 提交于 2020-03-25 17:30:13
CORBA: 具体的对CORBA的介绍安全客这篇文章 https://www.anquanke.com/post/id/199227 说的很详细,但是完全记住是不可能的,我觉得读完它要弄清以下几个点: 1.什么是CORBA? CORBA全称(Common ObjectRequest Broker Architecture)也就是 公共对象请求代理体系结构 ,是OMG(对象管理组织)制定的一种标准的面向对象应用程序体系规范。其提出是为了解决不同应用程序间的通信,曾是分布式计算的主流技术。 2.CORBA能干什么? 实现远程对象的调用 3.CORBA分为几部分? naming service //个人感觉类似于RMI的注册表服务 client side servant side 4.CORBA的通信流程是怎样的? 从大体上了解通信流程是怎样的,这里借用里面的图: 1.启动orbd作为naming service,会创建name service服务。 2.corba server向orbd发送请求获取name service,协商好通信格式 3.orbd返回保存的name service 4.corba server拿到name service后将具体的实现类绑定到name service上,这个时候orbd会拿到注册后的信息,这个信息就是IOR。 5.corba

ubuntu 14.04调试ORB-SLAM2

寵の児 提交于 2020-03-21 11:02:41
1 具备的条件: (1)ubuntu 14.04 (2)ROS indigo(可选) 2 安装依赖 (1)Pangolin:https://github.com/stevenlovegrove/Pangolin 安装依赖: sudo apt-get install libglew-dev sudo apt-get install cmake sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev sudo apt-get install libpython2.7-dev 安装Pangolin: git clone https://github.com/stevenlovegrove/Pangolin.git cd Pangolin mkdir build cd build cmake -DCPP11_NO_BOOSR=1 .. make -j (2)OpenCV:http://opencv.org/(我使用的是OpenCV 2.4.10) 安装步骤:参考:http://blog.csdn.net/csqingchen/article/details/43968925 (3)Eigen3:http://eigen.tuxfamily.org/ 直接在终端:sudo apt-get

ORB特征匹配原理及源代码

有些话、适合烂在心里 提交于 2020-03-12 03:30:24
  这篇往后,会暂时先更ORB、SITF、SURF三篇特征算子,在代码部分,会在本篇介绍下OPENCV特征匹配的特征点KeyPoint、特征描述子和匹配算子Match等的构成。 一、背景:   目前特征匹配算子主要应用于目标追踪、图像匹配等多个方面,效果比较好的有SIFT、SURF、ORB等特征匹配算子,SURF由在SIFT上改进得到。目前暂更ORB、SIFT和SURF三种特征匹配算子。在此,先简要介绍下三种算子,ORB采用FAST进行特征点检测,相对于SIFT和SURF具有运行速度快的优点,OBR算法推出晚于SIFT和SURF算法,运行速度优于SIFT和SURF(网上可以搜到三者运行速度差距,在此不再展示),主要应用于实时图像匹配。SIFT和SURF具有更好的稳定性,SURF是SIFT的改进版本,运行速度和匹配效果均优于SIFT。(在此介绍SIFT,是希望读者了解其中的算法,SIFT在最初的特征匹配上,有比较好的效果。同时希望,读者如果有兴趣,可以继续改进SIFT,万一再研究出个SXXXX,发表论文、申请专利呢???hhhhh)。 二、ORB特征匹配原理:    特征匹配的步骤一般可分为3步:1.检测特征点,2.计算特征点的描述子,3.根据特征点的描述子进行特征点匹配。 ORB特征点检测:   1.ORB在特征点检测部分,采用FAST算法进行特征点检测

兴趣点检测参考文献

感情迁移 提交于 2020-02-08 00:03:24
整理如下: OpenCV 尺度不变特征检测:SIFT、SURF、BRISK、ORB SIFT算法详解 SIFT特征匹配算法介绍——寻找图像特征点的原理 SURF特征提取分析 BRISK特征提取算法 ORB特征提取与匹配 来源: CSDN 作者: Wake_up. 链接: https://blog.csdn.net/qq_40851561/article/details/104216181

ORBSLAM的ORB特征提取

故事扮演 提交于 2020-01-19 01:39:55
ORBSLAM中的主要使用了ORB特征,也就是FAST特征+BRIEF描述子的组合,具体这两种方法就不详细介绍了,这里主要说一下每个特征对应的描述子在ORBSLAM中的维护方式; 首先需要说明的是每个frame都有自己对应的找到的feature,在进行特征提取前会先初始化一个Extractor,也就是: void Frame::ExtractORB(int flag, const cv::Mat &im) { if(flag==0) (*mpORBextractorLeft)(im,cv::Mat(),mvKeys,mDescriptors); else (*mpORBextractorRight)(im,cv::Mat(),mvKeysRight,mDescriptorsRight); } 第二步:初始化完成后就是提取,这里的入口函数是: // 计算ORB特征,_keypoints中的坐标与scale已经无关 /* _image: 原图 * mvImagePyramid:ComputePyramid() 的结果,不同大小的图片 * allKeypoints:对应mvImagePyramid中每一层图像的特征点,是与金字塔图像坐标对应的,就是在原图像的基础上经过缩放的 * _keypoints:对allKeypoints中每一个点找到对应的描述子后,再进行scale, *

ORB-SLAM2 论文笔记

会有一股神秘感。 提交于 2020-01-10 01:54:57
单目相机具有成本低,设置简单的优点,但是同样存在尺度不确定、初始化需要足够视差,最终造成尺度漂移、无法处理纯旋转等问题。 ORB-SLAM2为SLAM的发展作出了以下几个贡献: 1.这是第一个同时提供单目,双目和RGB-D接口的SLAM开源系统,并且包含回环检测,重定位和地图重用。 2.通过BA对RBG-D进行优化,效果优于state-of-the-art的ICP或photometric and depth error minimization 3.通过使用近距离和远距离的双目点以及单目观测,使得其双目的精确度要高于state-of-the-art的直接使用双目的SLAM系统 4.通过禁用建图来实现利用已有地图,进行轻量级的定位。 ORB-SLAM2的框架和ORB-SLAM的框架几乎是一模一样的,包含了三个线程:Tracking,Local Mapping和Loop Closing。主要的区别还是在对于双目相机和RBG-D相机前端,是如何进行追踪并构建后端优化问题的。因此与ORB-SLAM相同的部分就不再赘述,详细可参考上一篇关于ORB-SLAM论文的博客。 A.Monocular, Close Stereo and Far Stereo Keypoints ORB-SLAM2是基于特征的SLAM系统,因此当从输入的图像中提取特征之后,图像不需要被保存而是直接丢弃,因此可以说ORB

ubuntu18.04笔记本摄像头跑orbslam

喜欢而已 提交于 2019-12-31 02:30:40
在运行orbslam之前需要的准备工作: 1. 安装usb_cam 参考 摄像头标定 ,笔记本相机的标定(也可以不标定,使用程序中提供的相机参数,反正也不对地图有什么高要求。。。),外接相机也可以,好像是把某个文件中的0改成1. 2. 安装orbslam2 在catkin_ws/src中下载orbslam2,网上有教程。 至于orbslam的安装网上也有很多的教程,首先要安装一些依赖库,github上也有说明,然后编译orbslam,注意去掉文件build.sh中make之后的-j,防止卡死。还有usleep问题,需要在某个文件(程序报错后你就知道了)中加入头文件 #include <unistd.h> ,这样应该没什么问题了,如果有自己取搜吧。 还有是要编译build_ros.sh,这个的话需要在.bashrc(位于/home/用户名)中加入 export ROS_PACKAGE_PATH = ${ROS_PACKAGE_PATH} :/home/用户名/catkin_ws/src/ORB_SLAM2/Examples/ROS 当时我找方法的时候找了很多,然后在/opt/ros/melodic中的setup.bash中也加了这句话,保险起见还是加上吧,上边的路径注意换自己 的用户名,然后就是环境设置,打开终端,运行 source /opt/ros/melodic/setup

OpenCV Orb not finding matches once rotation/scale invariances are introduced

早过忘川 提交于 2019-12-28 03:24:10
问题 I am working on a project using the Orb feature detector in OpenCV 2.3.1 . I am finding matches between 8 different images, 6 of which are very similar (20 cm difference in camera position, along a linear slider so there is no scale or rotational variance), and then 2 images taken from about a 45 degree angle from either side. My code is finding plenty of accurate matches between the very similar images, but few to none for the images taken from a more different perspective. I've included

python opencv3 基于ORB的特征检测和 BF暴力匹配 knn匹配 flann匹配

天涯浪子 提交于 2019-12-27 01:23:44
git:https://github.com/linyi0604/Computer-Vision bf暴力匹配: 1 # coding:utf-8 2 3 import cv2 4 5 """ 6 orb特征检测和匹配 7 两幅图片分别是 乐队的logo 和包含该logo的专辑封面 8 利用orb进行检测后进行匹配两幅图片中的logo 9 10 """ 11 # 按照灰度图像的方式读入两幅图片 12 img1 = cv2.imread("../data/logo1.png", cv2.IMREAD_GRAYSCALE) 13 img2 = cv2.imread("../data/album1.png", cv2.IMREAD_GRAYSCALE) 14 15 # 创建ORB特征检测器和描述符 16 orb = cv2.ORB_create() 17 # 对两幅图像检测特征和描述符 18 keypoint1, descriptor1 = orb.detectAndCompute(img1, None) 19 keypoint2, descriptor2 = orb.detectAndCompute(img2, None) 20 """ 21 keypoint 是一个包含若干点的列表 22 descriptor 对应每个点的描述符 是一个列表, 每一项都是检测到的特征的局部图像 23