相机标定详解

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

1 相机标定是什么

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

2 为什么要标定

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

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

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

3 怎么标定

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

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

其实操作起来也很简单:

  • 首先, 准备一个标定板。 (网上下载一个棋盘格图案打印出来即可)
  • 然后用待标定相机从多个不同位置和角度拍摄多组图片, 10几张通常就足够了。 (当然也可以相机不动, 移动标定板)
  • 最后就是计算了。 得到多组图像后, 标定板上各个点的坐标我们是已知的,通过拍摄的图像我们又知道了像素坐标。 这些点一一对应起来, 实际上就得到了很多的点对。 通过这些点对, 我们就可以计算出相机的内参和外参。 当然这种情况下, 我们更关注的是内参, 因为这个外参是相对的, 标定板换个不同位置这个外参就变了, 实际上没啥用处。 这个计算通常也不需要我们自己写算法, 有很多现成的库都有, 如opencv等等。
相关推荐
shiming887915 小时前
MATLAB图像处理
图像处理·计算机视觉·matlab
点PY17 小时前
基于Sparse Optical Flow 的Homography estimation
人工智能·opencv·计算机视觉
独木三绝17 小时前
OpenCV第八章——腐蚀与膨胀
人工智能·opencv·计算机视觉
柠檬少少开发18 小时前
图像拼接算法及实现(一)
人工智能·算法·计算机视觉
红米煮粥19 小时前
OpenCV-直方图
人工智能·opencv·计算机视觉
隔窗听雨眠19 小时前
计算机视觉学习路线
计算机视觉
美狐美颜sdk19 小时前
探索视频美颜SDK与直播美颜工具的开发实践方案
人工智能·计算机视觉·音视频·直播美颜sdk·视频美颜sdk
极术社区20 小时前
ResNeXt学习
开发语言·学习·计算机视觉·php
思通数科x20 小时前
思通数科开源产品:免费的AI视频监控卫士安装指南
图像处理·人工智能·目标检测·机器学习·计算机视觉·目标跟踪·开源
嵌入式杂谈21 小时前
计算机视觉——基于OpenCV和Python进行模板匹配
python·opencv·计算机视觉