111仪器信息网

爱色影免费服务电话:13902929627

imatest软件校正畸变教程

日期:2019-06-04 08:24 人气:

图像测试卡的主要功能就是用于检测摄像头的各种性能,而配套使用的电脑软件能够很好的去对所拍摄的图像测试卡进行软件方面的分析,我们知道在摄像头测试分析软件中,最有名的莫过于Imatest软件和iqstest软件了,本站对于iqstest软件测试各种摄像头的性能参数教程已经有了,但是对Imatest软件用户测量和分析成像系统的特性和参数还没有多少涉及。为方便大家对两款软件的分析对比,本站来介绍下imatest软件校正畸变教程。

对Imatest软件熟悉的人都知道,在软件分析的一些测试数据结果中,有一些是可以用于图像畸变校正的,可以直接用于纠正测量出的误差,而不必购买增加硬件,也无需通过主观的判断,所以有时候问题的解决方法,可以是一个数学模型或者简单的计算。如果你得到了Imatest的这些参数,你可以通过纠正他们的结果,从而最大程度的减少它们造成的影响。这在相机中通常是通过一个专用的图像信号处理芯片ISP完成的,即从原始传感器数据RAW转换成一幅合适的图片。

以上的过程在Imatest软件测试分析过程中,我们可以称为“闭环”,因为它类似于ISP完成了从测试相机到校正相机的循环过程,这对于图像来说也是某种形式的调整。今天,我们就介绍从Imatest中提取径向畸变的测量数据,从而可以将它们用于校正相机的畸变,而不需要购买新镜头这样的设备,节省你的成本。

使用Imatest进行畸变校正

 

使用Imatest进行畸变校正

 

径向几何失真

对于几何失真,是用来描述图像的扭曲形状与相机真正遵循一个简单的针孔相机模型成像情况进行对比。最明显的效果是场景中的直线弯曲成图像中的曲线,它有着部分畸变。注意,我们不是在这里谈论透视失真。虽然我们不希望镜头存在几何失真,但有时候我们也会因为特殊需要的艺术效果而去选择曲线镜头,或使用广角镜头时忽略畸变。然而,大多数用户对每天看到的图片的畸变程度,主观接受的程度是有限的,所以畸变可以存在,但不能无限制的存在。例如特征化的几何失真是许多场景所需要的,比如在三维空间中定位一个点,对于计算机或交多张图像拼接在一起的VR应用等等,都需要精确的校正。这种几何失真几乎总是由于镜头的设计和结构带来的,它通常被建模为(1)纯径向和(2)径向对称。

纯径向畸变意味着无论在像场中的哪一个点,唯一决定畸变的因素是,它离图像的中心有多远。注意,为了更容易理解,我们假设图像的中心就是系统的光学中心。假设图像的几何失真是径向以降低问题的复杂性。因为无需考虑二维图像的两个维度(x和y表示在每个像素的位置),我们只需要确定一个维度(半径方向的位移)。

通过Imatest软件中使用的SFRPlus模块,Checkboard模块,或Dot Pattern模块,Imatest软件可以从一幅拍摄过的测试卡图片来测量相机系统的径向失真。

Imatest软件中的畸变系数

Imatest软件可以返回两种不同类型径向畸变的描述。这两种畸变都是用多项式近似的失真函数描述的,但这两个多项式代表不同的东西。在许多情况下,它们在功能上是相同的,并且可以从一种形式转换为另一种形式。同理,在此我们忽略了Imatest提供和标注的tan/arctan逼近值。我们作如下定义:

rd是一个点的畸变半径,也就是它到图像中心的距离
ru是一个点未畸变的半径,在未畸变的图像中它到图像中心的距离
函数rd=f(ru)被称为正向变换因为它采用了一个未畸变的半径值,并把它转     化为一个畸变的半径。也就是说,它适用于镜头发生畸变的点。
函数ru=f−1(rd)被称为反向变换,是为了与正向变换进行对比,它校正了镜  头的畸变值
P(⋅)表示一个多项式函数

SFRplus模块和Checkboard模块会返回描述纠正畸变的反向变换后的畸变系数,ru=f-1(rd),下方为Rescharts模块的分析结果:

Imatest畸变分析结果
 

Imatest畸变分析结果

 

Dot Pattern模块返回一个不同参数的径向畸变的多项式的系数,称为局部几何失真(LGD)。以下是基于ISO 17850和CPIQ标准给出的测试结果。

基于CPIQ的畸变分析结果

基于CPIQ的畸变分析结果

LGD被定义为相对于真实误差的径向误差,为百分比。LGD=100*(rd-ru)/ru,通过将LGD考虑为一个相对畸变图像半径的多项式函数,P(rd),我们可以重新安排这个方程式的两边产生更有用的方程,有理多项式的畸变校正反向变换形式。因此,点状图结果可以向SFRplus/Checkboard那样用同样的方法。

                                          ru=rd/(P(rd)/100+1)=f-1(rd)

通过再采样畸变校正

图像传感器的像素阵列基本上是一个规则间隔的网格光照取样。然而,光落在上面的模式已经被镜头扭曲了,因此当传感器定期地对光进行采样时,这些光在进入镜头之前就不是有效的光照样本了。我们的补救方案如下:

我们创建一个新的无失真,规则间隔的网格(一个新的像素阵列)。在每一个“虚拟传感器”像素的位置,我们重新从所观察到的图像采样图像数据,在该图像中的这个位置,传感器像素已经进行了失真预测。因此,畸变图像被用网格重新采样,它经历了相同的畸变,但采样结果会再次有规律的展现间隔-有效地消除失真。每个上层的网格线的交点代表了我们生成的像素位置,在未畸变图像中(像素的在我们的“虚拟传感器”的位置)。显然,我们在此已经减少了“像素”来增加易读性。图像的下部代表畸变图像,当网格被扭曲后,采样网格覆盖在其上。上面的规则间隔的阵列位置将被用从下方畸变图像的不规则采样数据填充,如所示的扭曲的网格交点位置。

对于通过imatest软件校正畸变的方法和假设,我们就介绍到这里。因为这种方法是依据对imatest软件较为熟知的基础上加以应用的结果,所以很多时候是一种对经验的总结,也希望这种方式能够为大家所接受。