usb-cam (3)摄像机标定文件-ORB-SLAM标定文件
http://www.luohanjie.com/2017-04-05/the-problem-of-calibration-data-in-orb-slam2.html
ORB_SLAM2中标定数据的问题

在使用ORB_SLAM2的过程中,我使用Kinect v2作为摄像机,而在使用之前需要对Kinect进行标定的工作。幸好iai_kinect2这个驱动提供了标定的工具[1]。按照说明操作,获得了标定的数据,如calib_color.yaml文件中包含了摄像机的内参和畸变等参数:
%YAML:1.0
cameraMatrix: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 1.0550860028898474e+03, 0., 9.7022756868552835e+02, 0.,
1.0557186689448556e+03, 5.2645231780561619e+02, 0., 0., 1. ]
distortionCoefficients: !!opencv-matrix
rows: 1
cols: 5
dt: d
data: [ 5.0049307122037007e-02, -5.9715363588982606e-02,
-1.6247803478461531e-03, -1.3650166721283822e-03,
1.2513177850839602e-02 ]
rotation: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 1., 0., 0., 0., 1., 0., 0., 0., 1. ]
projection: !!opencv-matrix
rows: 4
cols: 4
dt: d
data: [ 1.0550860028898474e+03, 0., 9.7022756868552835e+02, 0., 0.,
1.0557186689448556e+03, 5.2645231780561619e+02, 0., 0., 0., 1.,
0., 0., 0., 0., 1. ]
%YAML:1.0
#--------------------------------------------------------------------------------------------
# Camera Parameters. Adjust them!
#-------------------------------------------------------------------------------------------- # Camera calibration and distortion parameters (OpenCV)
Camera.fx: 1.0550860028898474e+03
Camera.fy: 1.0557186689448556e+03
Camera.cx: 9.7022756868552835e+02
Camera.cy: 5.2645231780561619e+02 Camera.k1: 5.0049307122037007e-02
Camera.k2: -5.9715363588982606e-02
Camera.p1: -1.6247803478461531e-03
Camera.p2: -1.3650166721283822e-03
Camera.k3: 1.2513177850839602e-02 Camera.width: 960
Camera.height: 540 # Camera frames per second
Camera.fps: 30.0 # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
Camera.RGB: 1 # IR projector baseline times fx (aprox.)
Camera.bf: 40.0 # Close/Far threshold. Baseline times.
ThDepth: 50.0 # Deptmap values factor
DepthMapFactor: 1000.0 #--------------------------------------------------------------------------------------------
# ORB Parameters
#-------------------------------------------------------------------------------------------- # ORB Extractor: Number of features per image
ORBextractor.nFeatures: 1000 # ORB Extractor: Scale factor between levels in the scale pyramid
ORBextractor.scaleFactor: 1.2 # ORB Extractor: Number of levels in the scale pyramid
ORBextractor.nLevels: 8 # ORB Extractor: Fast threshold
# Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
# Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
# You can lower these values if your images have low contrast
ORBextractor.iniThFAST: 20
ORBextractor.minThFAST: 7 #--------------------------------------------------------------------------------------------
# Viewer Parameters
#--------------------------------------------------------------------------------------------
Viewer.KeyFrameSize: 0.05
Viewer.KeyFrameLineWidth: 1
Viewer.GraphLineWidth: 0.9
Viewer.PointSize:2
Viewer.CameraSize: 0.08
Viewer.CameraLineWidth: 3
Viewer.ViewpointX: 0
Viewer.ViewpointY: -0.7
Viewer.ViewpointZ: -1.8
Viewer.ViewpointF: 500
在解决了双重标定的问题后[3],我使用qhd质量(960x540)的图片跑ORB_SLAM2程序,发现无论是单目模式还是RGBD模式的结果都不堪理想。经过排查后,发现还是标定数据的问题。
在iai_kinect2的标定程序中,使用的FullHD(1920x1080)分辨率图片,所以得到的计算机内参数据是针对1920x1080这个分辨率的;而我在ORB_SLAM2中,使用的是QHD(960x540)分辨率的图片。为了使用标定数据与使用照片对应,需要对1920x1080下的标定数据作出处理,对内参数据根据分辨率按比例进行缩减[4],在这里,需要对fx

的值乘以一个0.5。
%YAML:1.0
#--------------------------------------------------------------------------------------------
# Camera Parameters. Adjust them!
#-------------------------------------------------------------------------------------------- # Camera calibration and distortion parameters (OpenCV)
Camera.fx: 527.54300144
Camera.fy: 527.85933447
Camera.cx: 485.11378434
Camera.cy: 263.2261589 Camera.k1: 5.0049307122037007e-02
Camera.k2: -5.9715363588982606e-02
Camera.p1: -1.6247803478461531e-03
Camera.p2: -1.3650166721283822e-03
Camera.k3: 1.2513177850839602e-02 ...
usb-cam (3)摄像机标定文件-ORB-SLAM标定文件的更多相关文章
- 张正友相机标定Opencv实现以及标定流程&&标定结果评价&&图像矫正流程解析(附标定程序和棋盘图)
使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些? 相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的 ...
- JXL包大解析;Java程序生成excel文件和解析excel文件内容
最近需求变化,需要把excel导入 我以前没有做过,所以我查了一些资料 和参考别人的代码 以下是多种方式: import java.io.File; import java.io.FileInputS ...
- gulp批量打包文件并提取公共文件
gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器. browseriyf是模块化打包工具. 一般情况下,Browserify 会把所有的模块打包成单个文件.单个文件在大多数情况下是 ...
- plist文件、NSUserDefault 对文件进行存储的类、json格式解析
========================== 文件操作 ========================== Δ一 .plist文件 .plist文件是一个属性字典数组的一个文件: .plis ...
- split分割大文件--包含通过awk按规则分割文件到对应子文件
当对一个大文件进行传输或者分析的时候,一个可以参考的办法是先通过split对文件进行分割,再对每个子文件进行处理,如果需要合并再进行合并. split函数可以按文件大小或者行数来进行分割. -a : ...
- 文件描述符、文件表项指针、inode节点的关系
内核使用3种数据结构表示打开的文件,他们之间的关系决定了在文件共享方面一个进程对另一个进程的影响. (1) 每个进程在进程表中都有一个纪录项,纪录项中包含一张打开文件描述符表,每个文件描述符各占一项, ...
- 【监听文件 多线程】使用java--WatchService监听文件 开启多线程copy文件
有一个小需求: 在PC跟前没有人的时候,迅雷下载文件 至PC磁盘上,并且自动移动文件到U盘上,小主只要在走的时候取走U盘即可. 基于这个需求,有了下面这段代码:[JDK 1.8] package c ...
- 使用Windows EFS(怎么给文件夹加密)进行文件加密
和Windows BitLocker一样,Encrypting File System(EFS,加密文件系统)是Windows内置的一套基于公共密钥的加密机制,可以加密NTFS分区上的文件和文件夹,能 ...
- C# 将PowerPoint文件转换成PDF文件
PowerPoint的优势在于对演示文档的操作上,而用PPT查看资料,反而会很麻烦.这时候,把PPT转换成PDF格式保存,再浏览,不失为一个好办法.在日常编程中和开发软件时,我们也有这样的需要.本文旨 ...
- C#遍历文件夹下所有文件
FolderForm.cs的代码如下: using System; using System.Collections.Generic; using System.Diagnostics; using ...
随机推荐
- HTTP 错误 500 调用loadlibraryex失败
HTTP 错误 500.0 - Internal Server Error 调用 LoadLibraryEx 失败,在 ISAPI 筛选器 C:\Windows\Microsoft.NET\Frame ...
- Java高级类特性(二)
一.static关键字 static关键字用来声明成员属于类,而不是属于类的对象.1). static (类)变量类变量可以被类的所有对象共享,以便与不共享的成员变量区分开来. static变量也称作 ...
- 性能监控(1)--linux下的top命令
Linux下的监控工具 top命令 top命令能够实时显示系统中各个进程的资源占用情况,其输出信息分为两部分,前半部分为系统统计信息,后半部分是进程信息. 第一行是任务队列信息,它的结果等同于upti ...
- matlab的解方程的例子
syms x y z=exp(2*x+y)+cos(3*x*y)-exp(1)-1; zz=subs(z,x,1) solve(zz)
- Django Rest Framework之权限
基本代码结构 url.py: from django.conf.urls import url, include from app import views urlpatterns = [ url(r ...
- html一些标签在不同浏览器或者不同版本浏览器的注意事项
最近在IE10下运行一个以前的做web系统发现了两个小问题: 一.图片上使用"alt"属性来添加一些文字提示信息在IE10下无法正常显示出来 上网查了一下原因:原来是现在一 ...
- Python 基于python编写一些算法程序等
基于python编写一些算法程序等 by:授客 QQ:1033553122 QQ群:7156436 没特意去研究,只是这对群友在QQ群里(7156436)提出的一些小程序实现.编程题,算法.问题等,本 ...
- vue 环境的搭建及初始化项目
其实超级简单,虽然网上很多,但是我顺便记录下相当于做笔记吧 1nodejs 的安装, 在node官网下载,点击安装,安装的时候最好选择路径在d盘 2设置环境变量 我的电脑-->属性-->系 ...
- office远程代码执行(CVE-2017-11882)
office远程代码执行(CVE-2017-11882) 影响版本: MicrosoftOffice 2000 MicrosoftOffice 2003 MicrosoftOffice 2007 Se ...
- scrapy简单分布式爬虫
经过一段时间的折腾,终于整明白scrapy分布式是怎么个搞法了,特记录一点心得. 虽然scrapy能做的事情很多,但是要做到大规模的分布式应用则捉襟见肘.有能人改变了scrapy的队列调度,将起始的网 ...
