相机标定(一)

article/2025/9/22 3:16:47

相机标定

  • 相机成像模型
    • 参考坐标系
    • 针孔模型
    • 畸变模型
    • 相机参数

相机成像模型

参考坐标系

通常畸变分为两种,径向畸变和切向畸变。
坐标系
图像像素坐标系:表示场景中三维点在图像平面上的投影,其坐标原点在CCD图像平面的左上角,u轴平行于CCD图像平面水平向右,v轴垂直于u轴向下。坐标用(u,v)来表示,且表示的是该像素在数组中的列数和行数。
图像物理坐标系:图像像素坐标系只是表征像素的位置,但像素并没有实际的物理意义。因此,需建立具有物理单位(如mm)的平面坐标系。其坐标原点在CCD图像平面的中心(uo, vo),X和Y轴分别平行于图像像素坐标系的坐标轴,坐标用(x,y)来表示。
相机坐标系:以相机的光心为坐标系原点,X、Y轴平行于图像坐标系的X、Y轴,相机的光轴为Z轴,坐标系满足右手法则。光轴与成像平面的交点称为图像主点。场景点在相机坐标y下的三维坐标,即将场景点表示成以观察者为中心的数据形式,可以用(Xc,Yc,Zc)表示。
世界坐标系:也称为绝对坐标系,用于表示场景点的绝对坐标,场景点的三维坐标用(Xw,Yw,Zw)表示。

针孔模型

在这里插入图片描述

  1. 世界坐标系==>>相机坐标系
    世界坐标系是真实世界的基准坐标系,需要知道相机坐标系下的点在真实世界中的位置,利用其次坐标变换矩阵。
    在这里插入图片描述
  2. 相机坐标系==>>图像坐标系
    该变换是射影变换(小孔成像模型),将三维坐标变换为二维坐标。
    世界坐标系是真实世界的基准坐标系,需要知道相机坐标系下的点在真实世界中的位置,利用其次坐标变换矩阵。
    在这里插入图片描述
  3. 图像坐标系==>>像素坐标系
    设图像x方向每毫米有fx个像素,y方向每毫米有fy个像素。

在这里插入图片描述

畸变模型

通常畸变分为两种,径向畸变和切向畸变。
1.径向畸变
径向畸变主要是由镜头形状缺陷造成的,它是关于相机镜头主光轴对称的。径向畸变又分为正向畸变和负向畸变,其中正向畸变称为枕形畸变,负向畸变称为桶形畸变。径向畸变的数学模型为
在这里插入图片描述
其中, r 2 = u 2 + v 2 . \ r^{2}= \ u^{2}+v^{2}\,.  r2= u2+v2.
2.切向畸变
切向畸变是由于光学系统的光学中心和几何中心不一致造成的,即镜头各器件的光学中心不能严格共线。这类畸变既包含径向畸变,又包含相机镜头的主光轴不对称的切向畸变。其直角坐标形式为
在这里插入图片描述

相机参数

  1. 相机矩阵:
    焦距(fx,fy),光学中心(Cx,Cy),是相机的固有属性;
  2. 畸变系数:
    畸变数学模型的5个参数 D = (k1,k2,P1,P2,k3)
  3. 相机内参:
    相机矩阵和畸变系数统称为相机内参,在不考虑畸变的时候,相机矩阵也会被称为相机内参;
  4. 相机外参
    通过旋转和平移变换将3D的坐标转换为相机2维的坐标,其中的旋转矩阵和平移矩阵就被称为相机的外参;描述的是将世界坐标系转换成相机坐标系的过程。

http://chatgpt.dhexx.cn/article/SMFDSwKM.shtml

相关文章

张正友相机标定Opencv实现以及标定流程标定结果评价图像矫正流程解析(附标定程序和棋盘图)

使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些? 相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择…

标定工具介绍

作者 | WenDao_Engineer 微信公众号 | 闻道工程师之家 在前面标定相关的系列文章文对标定的基本介绍、标定的实现过程以及标定所涉及的相关协议都进行了介绍,从今天开始我们介绍一下标定实现过程中的标定工具相关知识。 标定系统组成 我们已经知道通过CCP或者XCP…

单目相机标定实现--张正友标定法

文章目录 一:相机坐标系,像素平面坐标系,世界坐标系,归一化坐标系介绍1:概述公式 二:实现1:整体流程4:求出每张图像的单应性矩阵并用LMA优化5:求解理想无畸变情况下的摄像机的内参数…

摄像机标定和立体标定

尝试用OpenCV来实现立体视觉也有一段时间了,主要的参考资料就是Learning OpenCV十一、十二章和OpenCV论坛上一些前辈的讨论。过程中磕磕碰碰,走了不少弯路,终于在前不久解决了最头大的问题,把整个标定、校准、匹配的流程调试成功。…

相机标定——张正友棋盘格标定法

目录 为什么需要相机标定? 相机标定可以做什么? 相机标定后可以得到什么? 什么情况下需要借助相机标定的方法? 相机标定的原理 实现相机标定的方法 为什么需要相机标定? 一个是由于每个镜头的在生产和组装过程中的…

标定方法——张正友标定法

标定 标定是联系世界坐标与像素坐标的环节,目的是求出相机和投影仪的内外参数,对于3D成像来说至关重要 张正友标定法 通过各种方法的对比,为了方便,我们采用的是张正友标定。我们主要对张正友标定法的原理进行介绍,…

笔记总结-相机标定(Camera calibration)原理、步骤

这已经是我第三次找资料看关于相机标定的原理和步骤,以及如何用几何模型,我想十分有必要留下这些资料备以后使用。这属于笔记总结。 1.为什么要相机标定? 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置…

如何实现标定?

上一篇《什么是标定》对标定进行了初步的介绍,让大家有了一个感性的认识。标定是一项非常复杂的工作的,涉及方方面面的知识非常多,本文将对标定具体实现的过程进行介绍。 控制器对标定的支持 在前面的文章中介绍了控制算法是在软件编程的时候…

标定的分类(一)

关于标定的分类及说明(一) 现在工业机器视觉和计算机视觉大量应用标定算法,但是对于初学者来说,存在概念模糊,理论理解错误的现状,因此,需要对标定进行梳理,防止大家在学习过程中混淆各种标定概念。话不多…

什么是标定?

标定这两个字在汽车行业里的工程师基本都听过,但是在其他行业里大部分人都不知道什么是标定,甚至都没有听说过标定。什么是标定?举一个常见的例子,家里买了电视,连接网络就可以看节目了,与其他任何环境影响…

JMS及其API介绍

Java Message Service是java ee的规范之一,可以用来发送异步消息,在某些场景下,可以作为不同系统,或者不同模块之间的集成方式。 可以类比为通过数据库来集成的方式,模块A完成逻辑以后,往数据库插…

Springboot 整合 JMS

ActiveMQ JMS 仅支持 Java 平台。 由于 JMS 是一套标准,所以 SpringBoot 整合 JMS 必然是整合 JMS 的某一个实现。 Apache ActiveMQ 是一个开源的消息中间件,完全支持 JMS 1.1 规范,支持多种编程语言( C、C、C#、Delphi、Erlang、AdobeFla…

1.JMS规范介绍

目录 1.什么是JMS规范 2.什么是MOM 3.MOM的特点 4.JMS和MOM的关联 5.JMS的体系结构 6.JMS常见基本概念 7.JMS 的事务性会话和非事务性会话 8.JMS消息的可靠性机制 1.什么是JMS规范 Java 消息服务(Java Message Service)是 java 平台中关于面向消息…

JMS 示例

JMS 开发示例。 使用weblogic8作为jms server。 1、在weblogic中配置JMS。 配置JMS connection factory 配置JMS File Store 配置JMS Server 配置JMS destination 2、创建JMS Sender package jms; import java.util.Hashtable; import javax.jms.JMSE

ActiveMQ详解一 —— JMS介绍

1. JMS概述 不同系统之间信息交换,有多种方式。 SUN公司提出了一种面向详细的中间件服务—— JMS,Java消息服务,是JavaEE的标准/规范之一。 JMS指出:消息的发送应该是异步的、非阻塞的。 也就是说,消息的发送者发送…

SpringBoot整合JMS

SpringBoot整合JMS 文章目录 SpringBoot整合JMS前言一、JMS、AMQP概念以及区别二、ActiveMQ安装三、SpringBoot整合ActiveMQ:队列模式实例1、创建demo项目2、添加依赖3、添加application配置4、添加配置文件ActiveMQConfig5、创建JMS组件文件6、发送消息控制器7、测…

JMS规范介绍

目录 1.什么是JMS规范 2.什么是MOM 3.MOM的特点 4.JMS和MOM的关联 5.JMS的体系结构 6.JMS常见基本概念 7.JMS 的事务性会话和非事务性会话 8.JMS消息的可靠性机制 1.什么是JMS规范 Java 消息服务(Java Message Service)是 java 平台中关于面向消息…

JMS规范

一、JMS经典模式详解 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM,Message oriented Middleware)的API,用于在两个应用程序之间&#xff0c…

微服务 —— 消息服务中间件 JMS

一、消息服务中间件 对于大多数应用来说,可采用消息服务中间件来提升系统异步通信,消息解耦问题。 消息的作用:异步处理、应用解耦、流量削峰。 异步消息中的两个概念:消息代理、目的地 当消息发送者发送消息,由消息…

JMS解析(二)——JMS简介

JMS解析(一)——JMS简介_踩踩踩从踩的博客-CSDN博客 前言 本篇文章会紧接着上篇文章未介绍完毕的JMS规范,继续消息接收、事务管理、持久化以及应用的介绍。 消息接收 消息接收分为队列接收和topic消息接收 对于队列的接收基本的consumer…