Learn OpenCV ---- 理解镜头畸变

本文探讨了相机镜头对图像质量的影响,解释了为何使用镜头而非针孔,并详细介绍了两种主要的图像畸变类型:径向畸变(桶形和枕形)和切向畸变。通过OpenCV库,可以进行相机标定和优化,以校正这些畸变,提高图像质量和应用在例如SLAM等领域的准确性。
摘要由CSDN通过智能技术生成

阅读原文

概述

    我们常见的相机都有一个重要的组成部分,那就是镜头。但是大伙有没有好奇,为什么相机需要装上一个镜头?这个镜头是否对三维世界投影到二维平面产生影响?如果有,我们该如何建立数学模型来消除这样对影响。
在这篇博文中,我们将讨论上述的问题。

使用镜头替代针孔

    为了产生清晰的图像,针孔相机的孔径应该尽可能的小。如果我们增加光圈的大小,那现实世界中的物体将会反射多条光线到相机的屏幕,从而产生模糊的图像。
    另一方面,如果我们使用的光圈太小,那么将会只有少量的光子击中图像传感器,导致所得到的图像较为黑暗,或者具有很多噪声。
    因此,针孔相机的光圈越小,图像的聚焦程度就越高,但是,图像的颜色也就越深(暗),所具有但噪声也越多。而光圈越大,图像的颜色也就明亮,噪声也较少。
    从上边的表述可以知道,如果只调整光圈,似乎不能得到两全其美的方法。那我们该如何做,才能得到清晰的图像,并且让图像更为的明亮呢?
    我们可以使用透镜替代针孔,这样就让更多的光线能够击打到图像传感器。这里就很好的运用了透镜的一些特性:透镜允许更多的光线通过,并且也能够让光线聚集在传感器上,这样就可以得到亮度和清晰度共有的图像啦。但是别太高兴哦,任何东西都不可能不用代价就获得的。

图像畸变的主要类型和原因

通过使用镜头,我们可以得到更好的图像,但是这些图像会存在一些失真的效果(畸变)。最常见的畸变有两种:

  1. 径向畸变:这种类型的畸变通常是由于光的不均匀弯曲造成的。即,光线在透镜边缘处的弯曲程度比在透镜中心出的弯曲程度高。由于径向畸变的存在,现实世界中的直线在图像中看起来是弯曲的。因为光线从理想位置向外或者向内移动,然后到底图像传感器。所以,径向畸变又分为两种类型,如图所示:
         - 桶形畸变: 即光线向外移动。
         - 枕形畸变: 即光线向内移动。
    在这里插入图片描述
  2. 切向畸变:出现这样的畸变通常是由于图像成像面于传感器面存在一定角度,即二者不平行。因此,图像看起来是倾斜和拉伸的。

     现在我们知道了图像畸变这个东西,但是它看起来究竟是怎么样的?又会有什么经典的影响呢?
     下图我们给出了一张桶形畸变的图像,可以看出,在偏离图像中心的位置,原来改为直线的墙壁,均产生了弯曲。这样的弯曲会带来什么影响呢?第一,它看起来于原有的场景十分不符,不能作为该场景的一种二维数字体现;第二,我们无法估计出图像中某些物体的高度,因为它已经发生了严重的弯曲;第三,当我们想使用SLAM技术完成更多的事情时,这样的图像很明显是一个很大在阻碍。

使用Opencv移除畸变

     消除由于镜头造成的图像畸变有三个主要的步骤:

  1. 对相机进行标定,进而获取相机对内参。其中,内参包括来相机对畸变参数。
  2. 优化相机矩阵以控制未图像中未畸变的像素的百分比。
  3. 使用优化后的相机矩阵,使图像不发生畸变。

具体可以我给出的带有中文注释的代码,链接在此,可以免费下载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值