相机标定详解

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

1 相机标定是什么

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

2 为什么要标定

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

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

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

3 怎么标定

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

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

其实操作起来也很简单:

  • 首先, 准备一个标定板。 (网上下载一个棋盘格图案打印出来即可)
  • 然后用待标定相机从多个不同位置和角度拍摄多组图片, 10几张通常就足够了。 (当然也可以相机不动, 移动标定板)
  • 最后就是计算了。 得到多组图像后, 标定板上各个点的坐标我们是已知的,通过拍摄的图像我们又知道了像素坐标。 这些点一一对应起来, 实际上就得到了很多的点对。 通过这些点对, 我们就可以计算出相机的内参和外参。 当然这种情况下, 我们更关注的是内参, 因为这个外参是相对的, 标定板换个不同位置这个外参就变了, 实际上没啥用处。 这个计算通常也不需要我们自己写算法, 有很多现成的库都有, 如opencv等等。
相关推荐
好评笔记2 小时前
AIGC视频生成模型:Stability AI的SVD(Stable Video Diffusion)模型
论文阅读·人工智能·深度学习·机器学习·计算机视觉·面试·aigc
冰万森5 小时前
【图像处理】——掩码
python·opencv·计算机视觉
Antonio9156 小时前
【opencv】第10章 角点检测
人工智能·opencv·计算机视觉
paradoxjun9 小时前
落地级分类模型训练框架搭建(1):resnet18/50和mobilenetv2在CIFAR10上测试结果
人工智能·深度学习·算法·计算机视觉·分类
liupenglove12 小时前
使用tritonserver完成clip-vit-large-patch14图像特征提取模型的工程化。
人工智能·深度学习·elasticsearch·计算机视觉·golang·自动驾驶
old_power13 小时前
【PCL】Segmentation 模块—— 欧几里得聚类提取(Euclidean Cluster Extraction)
c++·计算机视觉·3d
深度之眼14 小时前
ECCV 2024,全新激活函数!
人工智能·计算机视觉·激活函数
山川而川-R15 小时前
ubuntu电脑调用摄像头拍摄照片
人工智能·opencv·计算机视觉
虾球xz17 小时前
游戏引擎学习第83天
学习·计算机视觉·游戏引擎
没学上了17 小时前
加强版第二十二章KTL光流法
人工智能·计算机视觉