文档章节

相机标定,内参数

Ne0o0
 Ne0o0
发布于 2017/03/07 14:51
字数 1162
阅读 5
收藏 0
点赞 0
评论 0

相机标定得到的内参仅仅是对相机物理特性的【近似】,这一点有些人可能一辈子都没办法意识到。传统相机标定假设相机是小孔成像模型,一般使用两种畸变来模拟镜片的物理畸变。但实际相机的物理特性很可能没办法通过上述假设来得到完全的拟合。所以需要意识到,每一次相机标定仅仅只是对物理相机模型的一次近似,再具体一点来说,每一次标定仅仅是对相机物理模型在采样空间范围内的一次近似。所以当你成像物体所在的空间跟相机标定时的采样空间不一样的时候,你可能永远都没办法得到足够的精度,当你大幅改变相机与成像物体的距离的时候,你最好重新标定相机。如果你想在一个空间里得到更高的精度,你可以在空间里分层多次标定,实际计算的时候通过其他方式得到成像距离,从而选择合适的标定参数。

相机标定的目的是确定相机的一些参数的值。通常,这些参数可以建立定标板确定的三维坐标系和相机图像坐标系的映射关系,换句话说,你可以用这些参数把一个三维空间中的点映射到图像空间,或者反过来。相机需要标定的参数通常分为内参和外参两部分。外参确定了相机在某个三维空间中的位置和朝向,至于内参,可以说是相机内部的参数(这好像是废话...笑),我觉得需要引入一点光学的东西来更好地解释一下。现有的相机都至少包含一个光学镜头和一个光电传感器(CCD或CMOS)。通过镜头,一个三维空间中的物体经常会被映射成一个倒立缩小的像(当然显微镜是放大的,不过常用的相机都是缩小的),被传感器感知到。理想情况下,镜头的光轴(就是通过镜头中心垂直于传感器平面的直线)应该是穿过图像的正中间的,但是,实际由于安装精度的问题,总是存在误差,这种误差需要用内参来描述;理想情况下,相机对x方向和y方向的尺寸的缩小比例是一样的,但实际上,镜头如果不是完美的圆,传感器上的像素如果不是完美的紧密排列的正方形,都可能会导致这两个方向的缩小比例不一致。内参中包含两个参数可以描述这两个方向的缩放比例,不仅可以将用像素数量来衡量的长度转换成三维空间中的用其它单位(比如米)来衡量的长度,也可以表示在x和y方向的尺度变换的不一致性;理想情况下,镜头会将一个三维空间中的直线也映射成直线(即射影变换),但实际上,镜头无法这么完美,通过镜头映射之后,直线会变弯,所以需要相机的畸变参数来描述这种变形效果。然后,说到为什么需要20张图片,这只是一个经验值,实际上太多也不好,太少也不好。单纯从统计上来看,可能越多会越好,但是,实际上图片太多可能会让参数优化的结果变差,因为棋盘格角点坐标的确定是存在误差的,而且这种误差很难说是符合高斯分布的,同时,标定过程所用的非线性迭代优化算法不能保证总是得到最优解,而更多的图片,可能会增加算法陷入局部最优的可能性。拍照时的标定板位置和朝向的多样性,会让内参的估计更为准确。准确的内参可以较好地把整个图像的畸变都进行矫正,但如果给定的标定板的位置过于单一,比如都是在图像的左上角,那么优化得到的内参也可能只会比较好地纠正图像左上角的畸变。推荐找个畸变较大的镜头做做实验,会更形象。

© 著作权归作者所有

共有 人打赏支持
Ne0o0
粉丝 2
博文 57
码字总数 28287
作品 0
程序员
MATLAB标定ZED双目摄像头

MATLAB标定ZED双目摄像头步骤 Matlab version:2017b Matlab标定双目摄像头三步走: 图像采集 单目相机标定 双目相机标定 图像采集 利用Matlab对棋盘格进行图像采集,图片数量在15~25之间。采...

caidaoqing ⋅ 05/17 ⋅ 0

世界坐标系和相机坐标系,图像坐标系的关系

本文为转载,原博客地址:http://blog.csdn.net/waeceo/article/details/50580607 一、四个坐标系简介和转换 相机模型为以后一切标定算法的关键,只有这边有相当透彻的理解,对以后的标定算法...

wgx571859177 ⋅ 03/15 ⋅ 0

【计算机视觉】摄像机标定 matlab toolbox_calib工具箱(单目标定和双目标定)

1 整体介绍相机标定为Matlab工具箱 http://www.vision.caltech.edu/bouguetj/calib_doc/ 这是一个释放相机标定为Matlab工具箱 庐 完整的文档。 这个文档可能 也被用作一个教程自它包括摄像机...

kyjl888 ⋅ 2017/05/06 ⋅ 0

Structure from motion(SFM)原理 - 附我的实现结果

完成时间:2017年2月27日 博客时间:2017年4月26日 去年,我有幸了解到image-based modeling的相关知识。作为一个大三本科生,虽说自己也做了一些该领域的程序,但是都是些Toy programs。这次...

Mahabharata_ ⋅ 2017/04/26 ⋅ 0

朗锐智科工业智能相机在机器人视觉引导中的应

自2010年以来,机器人的需求量一直在迅速增长,这是由于机器人技术不断提高,越来越多的制造商采用和实施自动化。中国制造业面临着向高端转变,承接国际先进制造、进一步要求工业机器人向着智...

gunser ⋅ 04/04 ⋅ 0

十、工业相机与SCARA机械臂的坐标系标定

注:感谢固高长江研究院徐工程师的技术讲解,以及matlab程序,机器人系统程序的提供。 在工业现场当中,相机拍摄到的图像有一个相机坐标系,而机器人自身也有一个机器人自身的坐标系,两者互...

qq_36552550 ⋅ 03/01 ⋅ 0

stereoRectify返回的透视矩阵所对应的世界坐标系是什么?

stereoRectify需要输入的参数有两个相机的内参、畸变因数、两个相机相对的矩阵R和T以及图像大小size,由此返回两个相机的透视矩阵P1、P2以及重建矩阵Q,我想用triangulatePoints来重建三维坐...

Liol ⋅ 2015/03/29 ⋅ 0

openvgr

OpenVGR 包含以下几个实时处理模块 (基于 OpenRTM-1.0): 立体相机采集 (对于 IEEE 1394b 相机), 立体图像浏览器, 3-D 点云重建 (使用 OpenCV), 基于边缘的 3-D 物体检测 包含以下几个命令行工...

匿名 ⋅ 2012/05/23 ⋅ 0

增强现实技术漫谈(续)——研究内容全面解析

前言 经过上一篇略带诙谐的《增强现实技术漫谈》介绍之后,相信大家已经完全了解了增强现实技术的相关特征和应用领域,并且已经对概念有了清晰的理解了。本文将会针对增强现实(Augmented R...

zzlyw ⋅ 2017/03/22 ⋅ 0

BAR4Py——“AR” 的 Python 开发库

BAR4Py 是由 百晓通客栈×创客项目群 着手开发的“增强现实(AR)”的 Python 开发库。 特点: 基于 OpenCV,以及 Python 的数学库; 跨平台,可拓展,免费、开源; 支持简单的 Mark 标记物以...

oschina ⋅ 2016/04/30 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部