相机标定详解

article/2025/10/22 9:00:03

内参、外参、畸变参数三种参数与相机的标定方法与相机坐标系的理解

相机标定(Camera calibration)原理、步骤

相机标定详解

最近做项目要用到标定,因为是小白,很多东西都不懂,于是查了一堆的博客,但没有一个博客能让我完全能看明白整个过程,绝大多数都讲的不全面,因此自己总结了一篇博客,给自己理一下思路,也能够帮助大家。(张正友标定的详细求解还未完全搞明白,后面再加)

参考博客: 
相机标定(Camera calibration)原理、步骤 
(相机标定(Camera calibration)原理、步骤_AI人工智能科学的博客-CSDN博客_cmos相机标定)

相机标定内容详解 (转载自祥的博客) 
([图像]摄像机标定(1) 标定中的四个坐标系_祥知道的博客-CSDN博客_摄像头坐标系标定)

张正友标定介绍 
(张正友标定法翻译_heroacool的博客-CSDN博客_张正友标定法论文)

[图像]摄像机标定(2) 张正友标定推导详解 
([图像]摄像机标定(2) 张正友标定推导详解_祥知道的博客-CSDN博客_张正友摄像头标定)

MATLAB–相机标定教程 
(MATLAB--相机标定教程_heroacool的博客-CSDN博客_matlab相机标定)

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数(内参、外参、畸变参数)的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在。 
畸变(distortion)是对直线投影(rectilinear projection)的一种偏移。简单来说直线投影是场景内的一条直线投影到图片上也保持为一条直线。畸变简单来说就是一条直线投影到图片上不能保持为一条直线了,这是一种光学畸变(optical aberration),可能由于摄像机镜头的原因。

坐标转换基础

在视觉测量中,需要进行的一个重要预备工作是定义四个坐标系的意义,即 摄像机坐标系 、 图像物理坐标系、 像素坐标系 和 世界坐标系(参考坐标系) 。

一、图像坐标系(x,y)至像素坐标系(u,v)

1.两坐标轴互相垂直

这里写图片描述

此时有

这里写图片描述

2.一般情况,两轴不互相垂直

这里写图片描述

此时有

这里写图片描述

写成矩阵形式为:

这里写图片描述

二、相机坐标系(Xc,Yc,Zc)至图像坐标系(x,y)

这里写图片描述

(根据小孔成像原理,图像坐标系应在相机坐标系的另一边,为倒立反向成像,但为方便理解和计算,故投影至同侧。)

根据三角形相似性原理得:

这里写图片描述

三、世界坐标系(Xw,Yw,Zw)至相机坐标系(Xc,Yc,Zc)

这里写图片描述

四、合并公式

这里写图片描述

这里写图片描述

R、T矩阵为相机的外参矩阵。

畸变

畸变一般可以分为:径向畸变、切向畸变

径向畸变来自于透镜形状。 
切向畸变来自于整个摄像机的组装过程。

畸变还有其他类型的畸变,但是没有径向畸变、切向畸变显著,所以忽略不计。

这里写图片描述

径向畸变(桶形畸变和枕形畸变):

实际摄像机的透镜总是在成像仪的边缘产生显著的畸变,这种现象来源于“筒形”或“鱼眼”的影响。 
如下图,光线在原理透镜中心的地方比靠近中心的地方更加弯曲。对于常用的普通透镜来说,这种现象更加严重。筒形畸变在便宜的网络摄像机中非常厉害,但在高端摄像机中不明显,因为这些透镜系统做了很多消除径向畸变的工作。 
这里写图片描述

对于径向畸变,成像仪中心(光学中心)的畸变为0,随着向边缘移动,畸变越来越严重。 
对于径向畸变可以通过下面的泰勒级数展开式进行校正: 
这里写图片描述 
这里的x、y是图像中的畸变后的位置坐标,通过校正得到真实坐标。r是该点距成像中心的距离。

切向畸变(薄透镜畸变和离心畸变):

切向畸变是由于透镜制造上的缺陷使得透镜本身与图像平面不平行而产生的。

这里写图片描述

切向畸变可以通过如下公式来矫正: 
这里写图片描述 
这里的x、y是图像中的畸变后的位置坐标,通过校正得到真实坐标。r是该点距成像中心的距离。

opencv畸变模型

径向畸变模型:

这里写图片描述

切向畸变模型:

这里写图片描述

这里写图片描述

可得:

这里写图片描述

由公式可得畸变有k1,k2,k3,p1,p2五个参数,对于质量比较好的相机来说,切向畸变很小,可忽略,径向畸变系数k3也可忽略,只计算k1,k2两个参数。张正友标定中就默认为p1,p2为0。

张正学标定中的畸变模型:

这里写图片描述

标定方法

1、传统相机标定

最简单的相机标定为线性标定,即不考虑相机的畸变而只考虑空间坐标转换。 
每个坐标点有X,Y两个变量,可列两个方程,相机内参有5个未知数,外参平移和旋转各3个,共有11个变量,因此至少需要6个特征点来求解。

2、非线性标定

当镜头畸变明显时必须考虑畸变,一般较为便宜的网络摄像头畸变特别大,而价格较贵的工业摄像头则畸变很小,因为其中已经嵌入了许多消除畸变的程序。这时线性模型转化为非线性模型,需要通过非线性标定方法求解。有最速下降法,遗传算法,高斯牛顿法和神经网络算法等。

3、张正友标定介绍

(张正友标定只考虑了径向畸变,没有考虑切向畸变)

由上面的坐标转换可得:

这里写图片描述

这里写图片描述

我们把世界坐标系放置在标定板平面上,令Z=0,这时有:

这里写图片描述 
这里写图片描述

H为3X3矩阵,并且有一个元素作为齐次坐标,则有8个未知元素,一组坐标对应两个方程,则至少需要四组对应的点即可算出单应性矩阵H。

这里写图片描述

旋转矩阵为正交矩阵,因此有以下性质:

这里写图片描述

代入可得

这里写图片描述

由此可求出单应性矩阵A,因A有5个元素,则至少需要三个单应性矩阵方能求解,那么就需要三张不同的标定图片,这就是为什么标定需要用至少3张以上的图片的原因之一(我还不是完全确定是这样)

3.2.3 标定

相机标定步骤:

1、打印一张棋盘格,把它贴在一个平面上,作为标定物。 
2、通过调整标定物或摄像机的方向,为标定物拍摄一些不同方向的照片。 
3、从照片中提取棋盘格角点。 
4、估算理想无畸变的情况下,五个内参和六个外参。 
5、应用最小二乘法估算实际存在径向畸变下的畸变系数。 
6、极大似然法,优化估计,提升估计精度。

Matlab工具箱标定:

1、应用程序中找到Camera Calibration

这里写图片描述

2、添加标定板拍摄图片(按Ctrl可一次添加多张)

这里写图片描述

3、输入棋盘格每格的尺寸大小

这里写图片描述

4、显示已检测出的棋盘格,点击Calibration,开始标定。

这里写图片描述

5、得到标定结果(平均误差小于0.5即可认为结果可靠,这个地方我还不是很清楚)

这里写图片描述

6、可查看标定结果和程序

这里写图片描述

这里写图片描述

这里写图片描述

本文链接:相机标定详解_打怪升级ing的博客-CSDN博客_摄像头标定 


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

相关文章

相机标定-机器视觉基础(理论推导、Halcon和OpenCV相机标定)

相机标定是获得目标工件精准坐标信息的基础。首先,必须进行相机内参标定,构建一个模型消除图像畸变;其次,需要对相机和机器人的映射关系进行手眼标定,构建一个模型将图像坐标系上的点映射到世界坐标系。主要分为背景知…

计算机视觉——相机标定

相机标定 1. 相机标定1.1相机内外参数(重点)1.2 为什么要做相机标定 2. 相机标定的意义3. 相机成像模型3.1 像素坐标系3.2 图像坐标系3.3 相机坐标系3.4 世界坐标系 4.坐标系转换4.1 世界坐标到相机坐标4.2 相机坐标到图像坐标4.3 像素坐标到世界坐标的变…

相机标定、双目相机标定(原理)、三维重建效果展示

1.相机标定的目的: (1)通过单目相机标定分别求出左右相机的内参数和外参数。 (2)矫正由于镜头畸变造成的图片的变形,例如,现实中的直线,拍摄成图像后会外凸或内凹,进行相…

相机标定(Camera calibration)原理及步骤

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

计算机视觉—— 相机标定

目录 简介 一、相机模型 1.坐标系 2.坐标系变化 3.相机畸变模型 二、相机标定原理 三、张正友黑白棋盘格标定 2.1.算法思想 2.2.求解内参和外参的积 2.3.求解内参矩阵 2.4.求解外参矩阵 2.5.得到相机畸变矫正参数 2.6.L-M算法参数优化 三、实验 3.1 实验要求…

相机标定的原理及实现

本文参考文档: 原理部分:https://blog.csdn.net/honyniu/article/details/51004397 代码部分:https://www.cnblogs.com/wildbloom/p/8320351.html ;https://blog.csdn.net/firemicrocosm/article/details/48594897# 1、相机标定的…

计算机视觉-相机标定(Camera Calibration)

1.相机标定基本原理 1.1 简介 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数。在大多数条件下这些参数必须通过实验与计算才…

相机标定(Camera calibration)原理、步骤

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

采用Matlab的Filter Designer设计低通滤波器并对信号进行低通滤波

今天在使用Filter Designer设计低通滤波器进行低通滤波发现滤波总是得不到理想中的结果,经过一番折腾后终于解决了问题,特写博文供大家学习参考。 1、找到工具箱中的Filter Designer并打开: 2、按照如下图所示设计参数,注意Fs最好…

利用Matlab filterDesigner 工具生成FIR滤波器函数,并调用实现低通滤波

本文使用的开发环境为:Win10 Matlab2018a 版本。 在matlab命令窗口输入:filterDesigner命令,即可打开filterDesigner设计工具。 按照下图调整FIR低通滤波器的参数: 我们设计的是采样频率100Hz,截止频率10Hz的8阶FIR低…

matlab由滤波的系数得到传输函数 设计带通滤波器 design fdatool设计IIR带通滤波器

写在前面的话: 由滤波器系数得到传输函数: 使用matlab fdatool设计滤波器,得到幅频响应,得到滤波器系数,由系数如何得到滤波器的参数? 我的方法是 使用:点击Filt-Export to simulink Model, …

带通滤波器的设计

一、滤波器:滤波器按照频带划分可以分为:低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BEF)。其中射频天线领域主要采用带通滤波器(BPF)。 二、带通滤波器(BPF): ①:RF BPF:从天线中取出期望频带的…

【matlab图像处理】理想低通滤波器

实验原理: 在一幅图像中,低频部分对应图像变化缓慢的部分即图像大致外观和轮廓,高频部分对应图像变化剧烈的部分即图像细节,图像噪声也属于高频部分。低通滤波器的功能是让低频率通过而滤掉或衰减高频,效果是图像去噪平…

Matlab滤波器的设计

在IIR滤波器设计过程中,通常利用模拟滤波器来设计数字滤波器,首先要根据滤波器的性能指标设计出相应的模拟滤波器的系统传递函数G(s),然后由传递函数G(s)经Z变换得到所需要的数字滤波器的离散型传递函数。常用的Z变换方法有冲激响应不变法和双…

[Matlab]巴特沃夫滤波器设计:低通、高通、带通和带阻(1)

[Matlab]巴特沃夫滤波器设计:低通、高通、带通和带阻-------(1) ​ 巴特沃斯滤波器(Butterworth filter)称作最大平坦滤波器。巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有纹波&#x…

基于MATLAB的Filter使用,低通、带通和高通滤波器的MATLAB程序分享

基于MATLAB的Filter使用,低通、带通和高通滤波器的MATLAB程序分享 完整程序如下: clear all close all clc %% Parameter Interface Frequence0 60; %单位:Hz Frequence1 130; %单位:Hz F…

MATLAB —— 低通滤波器设计与信号滤波

百度百科 - 简介: 低通滤波器是容许低于截止频率的信号通过, 但高于截止频率的信号不能通过的电子滤波装置。 (1)提取滤波器(系数矩阵) 打开工具: MATLAB - APP - Filter Designer 参数设置&am…

低通滤波-matlab低通滤波程序

本例程展示了信号处理中低通滤波的作用,首先生成一个高斯白噪声,然后对其进行低通滤波。低通滤波器的截止频率和Q值可以自己设定,得到低通滤波器的传输函数后,在经过双线性变换法得到其单位脉冲响应。滤波后对原始信号的频谱和滤波…

模拟和数字低通滤波器的MATLAB实现

转自:http://blog.sina.com.cn/s/blog_79ecf6980100vcrf.html 低通滤波器参数:Fs8000,fp2500,fs3500,Rp1dB,As30dB,其他滤波器可以通过与低通之间的映射关系实现。 %%模拟滤波器 %巴特沃斯——…

matlab低通滤波

低通滤波器的功能是让低频率通过而滤掉或衰减高频,其作用是过滤掉包含在高频中的噪声。所以低通滤波的效果是图像去噪声平滑增强,但同时也抑制了图像的边界,造成图像不同程度上的模糊。 大于大小为MN的图像,频率点(u&…