机器人--相机

教程

畸变和校正

单目和双目标定

单双,rgb-d原理

单目相机

只有一个摄像头的相机。

原理

小孔成像。

缺点

单目相机无法测量物体点的深度信。

因为物体的Z轴坐标系无法测量。

双目相机

有两个摄像头的相机。

用两个单目相机组成的双目相机就可以测量深度信息,有些地方也把双目相机叫深度相机。

RGB-D相机

RGB-D相机一般有3个镜头:中间的镜头是普通的摄像头,采集彩色图像;另外两个镜头分别用来发射红外光和接收红外光。

RGB-D相机也利用和激光一样得到方法测距:

三角测距和TOF。

相机内参

相机内参通常用一个3×3的矩阵 K表示:

2,主点:定义了相机光轴(Optical Axis)与成像平面(Image Plane)的交点在图像像素坐标系中的位置。

3,倾斜系数(Skew Coefficient)

  • s:描述图像坐标系中x轴和y轴的不垂直程度(现代相机通常为0)。

-- 相机内参就是求解焦距和主点。

焦距

链接

链接

决定了相机的视角范围和成像大小。

  • 凸透镜:焦距为正,光线汇聚。

  • 凹透镜:焦距为负,光线发散。

焦距的含义和作用:

物理焦距:

镜头的光学中心感光元件之间的距离,用f表示。

像素焦距:

相机内参矩阵中的 fx​ 和 fy​ 是将物理焦距转换到像素坐标系的产物,可能不同。

主点

理想相机模型

传感器完全对准镜头,也就是像素坐标系原点完全对准相机坐标系(镜头中心坐标系)。

真实相机

由于制造误差(如传感器安装偏移、镜头与传感器未严格对齐),光轴可能不会精确穿过图像中心,因此主点 (cx,cy)会略微偏离理论中心。

内参成像模型

(x,y,z)是物体本身的一个点p相对于相机坐标系的位置。

K就是相机内参。

相机外参

在内参模型中,世界环境中的物体点P给的都是点P相对于相机坐标系下的坐标值:

实际情况下,世界环境中的物体点P给出的是点P相对于世界坐标系下的坐标值:

所以为了使用内参成像模型的公式,就需要将点P在世界坐标系下的位姿转为点P在相机坐标系下的位姿

相机外参:

相机外参本质上就是一个变换矩阵,用于将世界坐标系中的3D点 转换到相机坐标系

(关于变换矩阵以及坐标系变换--链接)

外参成像模型:

旋转矩阵R:

,我个人理解是世界坐标系到相机坐标系的旋转矩阵。

就是求解的是相机坐标系下的坐标。

T:

我个人理解是世界坐标系到相机坐标系的变换矩阵。

T就是相机外参。

-- 相机外参就是世界坐标系到相机坐标系的变换矩阵。

成像畸变

径向畸变

  • 桶形畸变(Barrel Distortion):图像边缘向外膨胀,中心收缩(常见于广角镜头)。

  • 枕形畸变(Pincushion Distortion):图像边缘向内收缩,中心膨胀(常见于长焦镜头)。

原因:

光线穿过镜头时,边缘的光线比中心的光线折射更强烈(桶形畸变)或更弱(枕形畸变)。

桶形径向畸变会导致像素点在像素坐标系上的位姿(x,y)向中心靠拢。

需要通过校正,扩散像素点坐标。

枕形径向畸变会导致像素点在像素坐标系上的位姿(x,y)扩散。

校正

  • 点:即像素点,即像素坐标。

  • 图像中心(Principal Point)

    光轴与成像平面的交点,坐标为 (cx,cy)(cx​,cy​)(单位:像素),由相机内参定义。

切向畸变

相机镜头和图像传感器平面由于安装误差导致不平行,因此引入了切向畸变。

校正

径向畸变和切向畸变融合校正

相机标定

单目相机标定

目的:相机标定就是进行相机内参和畸变进行标定,利用标定得到的内参K和畸变系数 ,,,,对原始图像进行修正。

一般相机出厂时就自带相机内参参数。

双目相机的标定

与单目标定不同的是,双目相机除了标定相机内参外,还要标定相机外参。

相关推荐
小彭努力中8 分钟前
8.Three.js中的 StereoCamera 立体相机详解+示例代码
开发语言·前端·javascript·vue.js·深度学习·数码相机·ecmascript
FREEDOM_X7 小时前
Ubuntu 20.04 安装 ROS 2 Foxy Fitzroy
linux·ubuntu·机器人
小彭努力中7 小时前
9.Three.js中 ArrayCamera 多视角相机详解+示例代码
开发语言·前端·javascript·vue.js·数码相机·ecmascript·webgl
程序员Android7 小时前
相机in-sensor zoom功能介绍
数码相机
亚图跨际8 小时前
大脑、机器人与贝叶斯信念及AI推理
人工智能·机器人
蜂耘9 小时前
面向人工智能、量子科技、人形机器人等产业,山东启动制造业创新中心培育认定
人工智能·科技·机器人
爱凤的小光16 小时前
图漾官网Sample_V1版本C++语言完整参考例子---单相机版本
开发语言·c++·数码相机
zhongqu_3dnest16 小时前
什么是全景相机?
数码相机·saas·数字孪生·三维空间·全景相机·三维全景技术
cosX+sinY17 小时前
10 基于Gazebo和Rviz实现导航仿真,包括SLAM建图,地图服务,机器人定位,路径规划
机器人