【计算机视觉】相机标定原理(像素点与三维坐标点的转换)
一、相机标定概述
- 相机标定目的
计算机视觉的任务之一:从相机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体。
- 相机标定内容
空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由相机成像的几何模型决定的,这些几何模型参数就是相机参数。通过试验与计算,求解以上参数(内参 、外参、畸变参数)的过程就是相机标定。畸变是指对直线投影的偏移,简单来说就是一条直线投影到图片上不能保持为一条直线了,这是一种光学畸变,这是由于摄像机镜头再生产过程中造成的原因。
畸变参数、内参是相机本身的固有特性,标定一次就可以一直使用,外参可能会根据不同的标定图片而不同,下面会具体解释外参。
二、四种坐标系转换
- 图像坐标系至像素坐标系
像素坐标系:图像左上角为坐标原点的坐标系O-uv;
图像坐标系:图像中心点为原点的坐标系O1-xy;
dx与dy是x、y轴上的元距离。
当两个坐标系轴不互相垂直的时候有:
fx、fy、u0、v0是相机的内参,描述了图像坐标系与相机坐标系的关系。
- 相机坐标系至图像坐标系
相机坐标系:以小孔摄像机模型的聚焦中心为原点,以摄像机光轴为oz 轴建立的三维直角坐标系,O-XcYcZc
图像坐标系:图像中心为原点,O1-XY
将上式用矩阵形式表示:
- 世界坐标系至相机坐标系
世 世界坐标系(Xw,Yw,Zw):也称真实或现实世界坐标系,或全局坐标系。它是客观世界的绝对坐标,由用户任意定义的三维空间坐标系。一般的3D场景都用这个坐标系来表示。
R是旋转矩阵,T是平移矩阵,经过旋转、平移的刚性运动,可以将相机坐标系转到世界坐标系下。(R是一个正交矩阵)
Rx、Ry、Rz、tx、ty、tz是相机标定的外参,描述了相机坐标系与世界坐标系的关系。
- 四个坐标系的转换
- 畸变参数
畸变一般可以分为:径向畸变、切向畸变。径向畸变来自于透镜形状,切向畸变来自于整个摄像机的组装过程。
径向畸变(桶形畸变和枕形畸变):
实际摄像机的透镜总是在成像仪的边缘产生显著的畸变,这种现象来源于“筒形”或“鱼眼”的影响。如下图,光线在原理透镜中心的地方比靠近中心的地方更加弯曲。对于常用的普通透镜来说,这种现象更加严重。筒形畸变在便宜的网络摄像机中非常厉害,但在高端摄像机中不明显,因为这些透镜系统做了很多消除径向畸变的工作。
畸变矫正公式:
x、y是图像中的畸变后的位置坐标,通过校正得到真实坐标。r是该点距成像中心的距离。
切向畸变(薄透镜畸变和离心畸变):
切向畸变是由于透镜制造上的缺陷使得透镜本身与图像平面不平行而产生的。
畸变矫正公式:
x、y是图像中的畸变后的位置坐标,通过校正得到真实坐标。r是该点距成像中心的距离。
所以,畸变参数有k1,k2,k3,p1,p2五个参数。
【计算机视觉】相机标定原理(像素点与三维坐标点的转换)相关推荐
- 基于OpenCV的立体相机标定StereoCalibration与目标三维坐标定位
说明:以下涉及到的一些公式以及图片来自于Learning OpenCV. 做了快2个月的立体相机标定,遇到了一些问题,也有了一些体会,在这里记下来. 1.在做立体相机标定的时候,标定板的规范与否直接影 ...
- 相机标定原理 用ROS camera_calibration 功能包 在gazebo中进行 相机校准
在gazebo中进行相机标定 相机标定原理 相机标定意义 相机标定原理 相机标定参数 相关坐标系 世界坐标系 相机坐标系 像素坐标系.图像坐标系 相机坐标系转换为世界坐标系 像素坐标系转换为图像坐标系 ...
- 计算机视觉—— 相机标定
目录 简介 一.相机模型 1.坐标系 2.坐标系变化 3.相机畸变模型 二.相机标定原理 三.张正友黑白棋盘格标定 2.1.算法思想 2.2.求解内参和外参的积 2.3.求解内参矩阵 2.4.求解外参 ...
- 非常详细的相机标定原理、步骤(一)
目录 一.什么是相机标定 二.坐标系 1.世界坐标系(word Coordinate) 2.相机坐标系(camera coordinate) 3.世界坐标系到相机坐标系转换 三.总结: 非常详细的相机 ...
- 计算机视觉——相机标定之张正友标定法
这里写目录标题 一.相机标定 1.相机标定原理 2.相机标定步骤 3.数据集其他注意事项 二.相机标定实验 1.数据集 2.代码实现 3.实验结果 4.代码解读 一.相机标定 1.相机标定原理 2.相 ...
- 基于高速相机的近地落点三维坐标测试方法
高速相机可以捕捉到高帧率的图像序列,这使得它们非常适合用于捕获快速运动的物体,如近地落点.要使用高速相机进行近地落点的三维坐标测试,你可以采用立体视觉技术.立体视觉技术的基本原理是使用两台或多台相机从 ...
- 计算机视觉----相机标定模型
简介 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.相机标定简介 二.张友正黑白棋盘标定 1.思想 2.原理 3.模型求解 三.实验内容及过程 3.1 实验要求 ...
- 1. 相机标定原理(学习笔记)
相机标定(Camera Calibration)-学习笔记 文章目录 相机标定(Camera Calibration)-学习笔记 一.简介 二.原理 1. 坐标系 *coordinates* 2. 相 ...
- 计算机视觉——相机标定
一.相机标定简介 相机标定指建立相机图像像素位置与场景点位置之间的关系,根据相机成像模型,由特征点在图像中坐标与世界坐标的对应关系,求解相机模型的参数.相机需要标定的模型参数包括内部参数和外部参数. ...
最新文章
- 经常吹空调皮肤是不是会变黑
- 【java学习笔记】java se8的流库概念以及使用
- mysql 5.5.39 安装_CentOS7.2安装mysql5.5.39
- 一篇教你xftp连接阿里云轻量级应用服务器。超级详细,避免踩坑
- C++新特性探究(18.3):C++11 weak_ptr智能指针
- 如何规划前端工程师职业发展路线?
- [转载] Python学习笔记——用装饰器decorator和Memoization记忆化提高效率,原理讲清楚了
- SpringBoot之注解
- linux软件源哪个好,Linux 软件源
- 汇编中的inc和dec
- 将两块球形橡皮泥揉在一起,捏成一个正方体。请编程,完成下述功能:从键盘读入2个球形橡皮泥的直径,直径为浮点数;求正方体的边长,并保留两位小数输出;
- u-boot-2010.09-for-tiny6410-v1.0支持sd卡SDHC卡启动
- 浅析:光纤跳线的插入损耗和回波损耗
- 如何设置HTML背景特效,HTML5之按钮背景不同动画特效设计
- AutoLayout2
- 如何从Adobe Illustrator文件中提取PNG
- Android vivo手机无法调试安装Apk的解决办法
- 其它 以字典的方式 暴力破解 压缩文件密码
- python:基础知识
- 【机器人学习】三自由度康复机器人运动学分析()
热门文章
- bluehost与GoDaddy哪个好?美国主机对比评测!
- 玩转DWZ (一)---项目中怎么使用dwz
- 如何解决Oracle11g使用dmp命令无法导出空表问题
- ES2016/ES2017/ES2018/ES2019 新语法
- 【Python习题】简易英汉字典(project-ssss)(题目的坑解析+实现代码)
- Artemis资源限制(17)
- 2019年CS224N课程笔记-Lecture 12: Subword Models
- ISDP_ch10ch11问题汇总
- 【进程调度】模拟进程调度的过程
- 怎么用计算机弹出光年之外,明日之后光年之外简谱代码-明日之后光年之外怎么弹-明日之后光年之外钢琴曲谱分享_牛游戏网...