1、畸变矫正主要包括径向畸变和切向畸变
(1)径向畸变(枕形、桶形):光线在远离透镜中心的地方比靠近中心的地方更加弯曲
(2)切向畸变:透镜不完全平行于图像平面,即sensor装配时与镜头间的角度不准
2、径向畸变矫正原理
(1)矫正前后的坐标映射
输出图像(nJ,nI)--(宽高缩放比)->矫正后图像--(张氏标定法)->矫正前图像(输入图像(fOrgJ,fOrgI))
(2)映射到原图的坐标不一定是整数,双线性插值
举例:输出图像(3,4)映射到输入图像(5.25,6.75)
输出图像(3,4) = 输入图像取(5,6)、(5,7)、(6,6)、(6,7)四点像素值双线性插值
= 输入图像(5+0.25,6+0.75)
= (1-0.25)(1-0.75)f(5,6)+(1-0.25)*0.75*f(5,6+1)+0.25*(1-0.75)f(5+1,6)+0.25*0.75*f(5+1,6+1)
3、径向畸变矫正算法伪代码
张氏标定法
其中(u, v)代表理想无畸变(即矫正后)的像素坐标,(˘u, ˘v)代表实际径像畸变的情况下(矫正前)的像素坐标,(u0, v0)代表理想无畸变(即矫正后)的图像主点,(u1, v1)代表实际径像畸变(即矫正前)的图像主点。x, y在这里分别代表矫正后图像中(u, v)点像素分别在行向和列向与主点的距离。
(1)输入图像主点(图像中心点坐标)--(张氏标定法)->矫正后图像主点(矫正后图像宽高)--->计算输出图像与矫正后图像宽高缩放比
(2)输出图像坐标通过宽高缩放比映射到矫正后图像坐标
(3)矫正后图像坐标通过张氏标定法映射到输入图像坐标
(4)双线性插值
4、优化、加速策略
(1)双线性插值
*源图像和目标图像几何中心对齐
SrcX=(dstX+0.5)* (srcWidth/dstWidth) -0.5
SrcY=(dstY+0.5) * (srcHeight/dstHeight)-0.5
*将浮点运算转换成整数运算(除法采用移位操作)
*多线程