opencv 相机调亮度_技术分享 | 计算机与机器视觉中的高精度相机标定 (上)

作者:王朝阳 @zywang
编辑: @fly qq & 大笛

Ⅰ 前言

当看到这个关于相机标定(Camera Calibration)的标题,一部分读者可能马上会问:相机标定是做什么的?为什么需要相机标定?简单地来说,这里所说的相机标定是一种几何标定,我们用它来确定相机的一系列几何参数,比如镜头的实际焦距、镜头畸变系数、相机的方位等。有的人把相机标定叫做 Camera Resectioning,或者把 Camera Calibration 翻译为相机校准,这些叫法不是很贴切。

为什么需要相机标定呢?相机标定的目的主要跟精准成像与精确测量有关。例如:如果我们要矫正相机的镜头畸变,我们需要通过相机标定来确定相应的畸变系数;如果我们想通过图像来度量一个物体的大小,我们需要首先利用相机标定来确定相机系统的像距和相机的方位;如果我们想使用相机来实现三维视觉成像,我们必须事先依赖于相机标定得到所需要的几何参数。近些年来,计算机与机器视觉的蓬勃发展使得相机标定的需求日益增多。不少读者也可能听说过或使用过 OpenCV 里面基本的相机标定。

Ⅱ 相机的成像模型

· 针孔成像

我们进行相机标定的首个任务是什么呢?是相机的成像模型。也就是,现实物体上的一个点在相机采集到的图像中所在的位置是怎么决定的。我们采用的模型是针孔模型,也就是小孔成像。

可能有的读者会嘀咕了:难道是我们以前在语文或者物理课本里读过的小孔成像?那可是两三千年以前古人就已经发现的现象,何况我们现在的相机也不是小孔成像啊。如果我说现在的相机其实本质上就是小孔成像,大家会不会感到有些疑惑?

好,我们先回顾一下小孔成像的原理。小孔成像是利用了光线直线传播的原理。比如说,远处有一棵大树,而我们有个盒子,在这个盒子的对着大树的那一面上用针尖戳一个小孔。我们任选这棵大树上的任何的一个点,它都会向四周去反射无数条光线。但是因为光线是直线传播的,所以这些光线要么没有一条能进入盒子中,要么就只有一条光线是进入到这个盒子里面的。进入到盒子中的光线会在盒子里的一面上形成一个光点。这个光点跟大树上的那个点是对应的,颜色也是一致的,这就建立了一对一的关系。如果我们把感光胶片或者感光的传感器放在盒子里,就可以做成一个针孔相机来得到大树的彩色图像了。需要指出的是,因为物体跟图像上的点是一一对应的,所以我们把盒子里的感光传感器以任何(合适的)角度放在光线经过的任何一个地方,图像都会是清晰的。也就是说,针孔相机是不用对焦的!这个优点可真是太好了!

8f75bc679e0466a2db401e7f0040da3d.gif
*针孔相机演示

那么针孔相机的缺点呢?很显然,上述例子中,由于大树上每个点反射的无数条光线只有一条进入到盒子中,所以图像是很暗很暗的。而加大孔径,虽然可以提高图像的亮度,却会使得物体上的一个点会反射一小束光进入到相机里。这一小束光会在感光传感器上形成一个光斑,而不是一个点;从而相机失去了物体与图像上的点的一一对应关系,进而导致图像模糊甚至无法成像。当然实际的针孔相机不可能是让每个点只有一条光线进入相机。因为光具有波粒二象性,是可以衍射的,所以很小的针孔,也会导致图像模糊。根据可见光的波长,理论计算的小孔最佳直径是 0.25mm 左右,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值