相机标定详解

在使用相机的视觉任务中,我们总是听到相机标定这个词, 那么相机标定到底是干什么, 为什么要进行相机标定呢? 常用的相机标定方法又有哪些呢? 本文试图从这几个方面来详细解释相机标定。 与其他的文章不同, 本文抛开繁琐的数学公式以及成像几何原理, 用通俗易懂的方式来解释。

1 相机标定是什么

相机标定简单地说就是为了计算出相对准确的相机参数, 通常包括内参和外参。 内参就是相机本身的一些参数, 如焦距, 畸变等。 外参就是跟场景相关的一些参数, 比如相机相对于某一参考坐标系平移, 旋转了多少。

2 为什么要标定

上面说了, 标定主要是为了计算出内参和外参。

内参通常相机生产出来就固定了, 但是通常都是有误差的, 这个误差来源很多, 如装配误差, 器件的不一致性等等。 有时这个误差会很大, 因此在使用前非常有必要进行标定。

外参标定通常跟使用场景有关, 比如用视觉定位的时候, 就需要知道相机坐标系与世界坐标系之间的映射关系, 那么这个时候就需要进行外参的标定。

3 怎么标定

相信大家看到最多的标定方式就是棋盘格标定了。 没错, 这个标定方式确实是当前最常用, 也很强大的标定方法了。

那么这个标定方法具体是怎么做的呢?

其实操作起来也很简单:

  • 首先, 准备一个标定板。 (网上下载一个棋盘格图案打印出来即可)
  • 然后用待标定相机从多个不同位置和角度拍摄多组图片, 10几张通常就足够了。 (当然也可以相机不动, 移动标定板)
  • 最后就是计算了。 得到多组图像后, 标定板上各个点的坐标我们是已知的,通过拍摄的图像我们又知道了像素坐标。 这些点一一对应起来, 实际上就得到了很多的点对。 通过这些点对, 我们就可以计算出相机的内参和外参。 当然这种情况下, 我们更关注的是内参, 因为这个外参是相对的, 标定板换个不同位置这个外参就变了, 实际上没啥用处。 这个计算通常也不需要我们自己写算法, 有很多现成的库都有, 如opencv等等。
相关推荐
江畔柳前堤7 小时前
信号的本质——从模拟波形到AI中的数据张量
人工智能·深度学习·机器学习·计算机视觉·数据挖掘·语音识别
江畔柳前堤9 小时前
系统的本质——从LTI系统到神经网络
人工智能·深度学习·神经网络·机器学习·计算机视觉·数据挖掘·语音识别
sali-tec13 小时前
C# 基于OpenCv的视觉工作流-章98-频域滤波
图像处理·人工智能·opencv·计算机视觉
吃好睡好便好14 小时前
MATLAB中图像的线性变换
开发语言·图像处理·学习·计算机视觉·matlab
GetcharZp16 小时前
让照片开口说话:LivePortrait 本地部署玩法详解
人工智能·计算机视觉
cout<<jester17 小时前
人脸情绪识别模型
人工智能·深度学习·计算机视觉
吃好睡好便好18 小时前
MATLAB中图像的对数变换
图像处理·学习·算法·计算机视觉·matlab
szxinmai主板定制专家19 小时前
驱控一体新范式:RK3576+FPGA+CODESYS工业实时AI控制架构全解
人工智能·嵌入式硬件·计算机视觉·fpga开发·架构·工业ai·驱控一体
映翰通网络1 天前
TI开发板上的边缘AI工具链:先认清OpenCV、GStreamer和TIDL
人工智能·嵌入式硬件·opencv·计算机视觉·ti
xp_fangfei2 天前
Halcon之第1讲---基本概念以及基础算子的学习
计算机视觉