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

相机标定原理

相机标定原理

  • 什么是相机标定
    • 相机畸变

什么是相机标定

为了确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,需建立相机成像的几何模型,几何模型参数即为相机参数,求解相机参数的过程就是相机标定。
坐标系
**世界坐标系:**现实世界坐标系,该坐标系作为基准坐标系可以描述相机位置以及空间中任意物体的位置,该基准坐标点的确立通常由机械决定,用(Xw,Yw,Zw)表示世界坐标值。
**相机坐标系:**以相机光心为坐标原点,主光轴为Z轴,平行图像平面水平方向为X轴,垂直方向为Y轴建立起的三维坐标系,用来描述任意空间点在相机空间中的位置,用(Xc,Yc,Zc)表示相机坐标值。
图像坐标系:定义在成像平面上的二维坐标系(单位:mm),以主光轴与成像平面的交点为坐标原点,X轴平行成像平面水平向右,Y轴平行于图像垂直方向水平向下,用(x,y)表示图像坐标值。
**像素坐标系:**用来描述相机传输到计算机中的图像(单位:像素)。以图像平面左上角为坐标原点,u轴平行于图像坐标系X轴,方向同向,v轴平行于图像坐标轴Y轴,方向同向,用(u,v)表示像素坐标值。
在这里插入图片描述
1.世界坐标系–>相机坐标系
从世界坐标系向相机坐标系转化是三维点到三维点的转换,转换方法是旋转和平移(刚体变换),旋转矩阵R和平移矩阵T为相机外参。
在这里插入图片描述
相机坐标系–>图像坐标系
基本原理:中心透视原理(小孔成像)
在这里插入图片描述
在这里插入图片描述
图像坐标系–>像素坐标系
在这里插入图片描述
世界坐标系–>像素坐标系
在这里插入图片描述

相机畸变

经过透镜后的实际成像和理想成像之间的误差即为相机畸变。
相机畸变分为径向畸变和切向畸变。
在这里插入图片描述
径向畸变
在针孔模型中,一条直线投影到像素平面上还是一条直线。但在实际拍摄的照片中,摄像机的透镜往往使得真实环境中的一条直线在图片中变成曲线。越靠近图像的边缘,曲线现象越明显。
在这里插入图片描述

径向畸变的去畸变公式:
在这里插入图片描述

  • (x,y)是图像中的畸变后的位置坐标,
  • (Xcorrected,Ycorrected)矫正后的理想位置。 r是该点距成像中心的距离。
  • k1,k2,k3 为径向畸变系数,相机内参。
    切向畸变
    切向畸变是由于透镜本身与相机传感器平面(成像平面)不平行而产生的,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致。

切向畸变的去畸变公式:
在这里插入图片描述
两个畸变合并:
在这里插入图片描述
将纠正后的点通过内参数矩阵投影到像素平面,得到该点在图像上的正确位置。
在这里插入图片描述


http://www.kler.cn/a/401695.html

相关文章:

  • 无插件H5播放器EasyPlayer.js视频流媒体播放器如何开启electron硬解码Hevc(H265)
  • Pytest-Bdd-Playwright 系列教程(12):步骤参数 parsers参数解析
  • iceberg小文件合并策略
  • 【Telephony】Android移动数据网络的控制面和数据面含义
  • Debezium日常分享系列之:Debezium3版本Debezium connector for JDBC
  • WebAssembly在桌面级应用开发中的探索与实践
  • SpringBoot升级全纪录之项目启动
  • Acme PHP - Let‘s Encrypt
  • 卷积神经网络之Yolo详解
  • Kotlin的data class
  • JSP是如何被执行的?
  • LabVIEW多通道面阵烟雾透过率测试系统
  • VSCode自定义插件创建教程
  • 软间隔支持向量机支持向量的情况以及点的各种情况
  • Java集合分页
  • uni-app快速入门(十二)--常用API(中)
  • 【Vim/Vi/Gvim操作】:列操作
  • SpringcloudAlibaba详解---超详细
  • 无人机侦察打击方案(2)
  • vue2中使用three.js步骤
  • 微服务网关聚合swagger(knife4j版本)
  • 【环境配置】ubuntu-jetson上的定时任务
  • STM32设计井下瓦斯检测联网WIFI加Zigbee多路节点协调器传输-分享
  • 【Qt】使用QString的toLocal8Bit()导致的问题
  • 【Linux学习】【Ubuntu入门】1-6 ubuntu文件系统结构
  • 使用 Elasticsearch 构建食谱搜索(二)