当前位置: 首页 > news >正文

机器人--相机

教程

畸变和校正

单目和双目标定

单双,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^{w}转为点P在相机坐标系下的位姿

相机外参:

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

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

外参成像模型:

旋转矩阵R:

_{w}^{c}\textrm{R},我个人理解是世界坐标系到相机坐标系的旋转矩阵。

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

T:_{w}^{c}\textrm{T}

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

T就是相机外参。

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

成像畸变

径向畸变

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

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

原因:

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

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

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

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

校正

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

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

切向畸变

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

校正

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

相机标定

单目相机标定

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

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

双目相机的标定

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

相关文章:

  • 学习海康VisionMaster之线圆测量
  • stm32wb55rg (4) 启用usart串口
  • OpenAI Embedding 和密集检索(如 BERT/DPR)进行语义相似度搜索有什么区别和联系
  • transformer-实现单层Decoder 层
  • 【探寻C++之旅】第十二章:异常
  • RTDETRv2 pytorch训练
  • 部署一个自己的Spring Ai 服务(deepseek/通义千问)
  • kotlin flatMap 变换函数的特点和使用场景
  • 亚远景-ASPICE认证:如何优化软件开发流程?
  • 极客天成受邀参加2050大会,共赴人工智能科技盛宴
  • IDEA新版本Local Changes
  • Java后端开发day39--方法引用
  • 【学习资源】知识图谱与大语言模型融合
  • 机器学习之五:基于解释的学习
  • Java语言使用GLM-4-Voice的交互示例
  • CSS Transition入门指南
  • 网络通讯【QTcpServer、QTcpSocket、QAbstractSocket】
  • 在 Windows 的终端安装并使用 azd 命令
  • CVE-2025-21756:Linux内核微小漏洞如何引发完整Root提权攻击(含PoC发布)
  • tornado_登录页面(案例)
  • 量子传感新技术“攻克”退相干难题
  • 专访|200余起诉讼,特朗普上台100天,美国已进入宪政危机
  • 俄罗斯纪念卫国战争胜利80周年阅兵式首次彩排在莫斯科举行
  • 临港迎来鸿蒙智行“尚界”整车及电池配套项目,首款车型今秋上市
  • 五一“拼假”催热超长假期,热门酒店民宿一房难求
  • 交通运输部:预计今年五一假期全社会跨区域人员流动量将再创新高