XcYcZc1 =Twc XwYwZw1 =[R0t1] XwYwZw1

3.2.2 相机坐标系到图像坐标系

img

相机坐标系到图像坐标系的转换是通过透视投影实现的。假设相机焦距为 f f f,则成像面是与 X c O Y c X_cOY_c XcOYc平面平行且距离为 f f f的平面,在相机坐标系中, p ( x c , y c , z c ) p(x_c,y_c,z_c) p(xc,yc,zc),在图像坐标系中的成像点是 p ′ ( x , y ) p'(x,y) p(x,y)

img

利用相似三角形求得: x x c = y y c = f z c \frac{x}{x_c}=\frac{y}{y_c}=\frac{f}{z_c} xcx=ycy=zcf

x = f z c ⋅ x c x=\frac{f}{z_c}\cdot x_c x=zcfxc, y = f z c ⋅ y c y=\frac{f}{z_c}\cdot y_c y=zcfyc,写为矩阵形式:
[ x y 1 ] = [ f z c 0 0 0 0 f z c 0 0 0 0 1 z c 0 ] ⋅ [ x c y c z c 1 ] [xy1] class="MathJax_Display MathJax_Processing">

=[fzc0000fzc00001zc0] class="MathJax_Display MathJax_Processing"> \cdot [xcyczc1] class="MathJax_Display MathJax_Processing"> xy1 = zcf000zcf000zc1000 xcyczc1
也可以写作:
z c ⋅ [ x y 1 ] = [ f 0 0 0 0 f 0 0 0 0 1 0 ] ⋅ [ x c y c z c 1 ] z_c \cdot [xy1] class="MathJax_Display MathJax_Processing">=[f0000f000010] class="MathJax_Display MathJax_Processing"> \cdot [xcyczc1] class="MathJax_Display MathJax_Processing"> zc xy1 = f000f0001000 xcyczc1

3.2.3 像素坐标系转换为图像坐标系

在这里插入图片描述像素坐标系uov是一个二维直角坐标系,反映了相机CCD/CMOS芯片中像素的排列情况。原点o位于图像的左上角,u轴、v轴分别于像面的两边平行。像素坐标系中坐标轴的单位是像素(整数)

像素坐标系不利于坐标变换,因此需要建立图像坐标系XOY其坐标轴的单位通常为毫米(mm),原点是相机光轴与相面的交点(称为主点),即图像的中心点,X轴、Y轴分别与u轴、v轴平行。故两个坐标系实际是平移关系,即可以通过平移就可得到。
在这里插入图片描述其中, d x dx dx d y dy dy分别为像素在 x x x y y y轴方向上的物理尺寸, u 0 u_0 u0, v 0 v_0 v0为主点(图像坐标系原点)坐标。

3.2.4 世界坐标转换为像素坐标

在这里插入图片描述

3.3 畸变

3.3.1 畸变类型

在这里插入图片描述

3.3.1.1 径向畸变(Radial Distortion)

径向畸变是由于镜头的形状引起的,通常表现为图像中心区域的放大或缩小。径向畸变可以进一步分为两种类型:

x corrected = x ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) y corrected = y ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) x_{\text{corrected}} = x(1 + k_1 r^2 + k_2 r^4 + k_3 r^6)\\ y_{\text{corrected}} = y(1 + k_1 r^2 + k_2 r^4 + k_3 r^6) xcorrected=x(1+k1r2+k2r4+k3r6)ycorrected=y(1+k1r2+k2r4+k3r6)
其中:

3.3.1.2 切向畸变(Tangential Distortion)

切向畸变是由于镜头和成像平面不完全平行引起的。这种畸变会导致图像中的某些区域相对于其他区域发生偏移。切向畸变可以用以下公式描述:

x corrected = x + [ 2 p 1 x y + p 2 ( r 2 + 2 x 2 ) ] y corrected = y + [ p 1 ( r 2 + 2 y 2 ) + 2 p 2 x y ] x_{\text{corrected}} = x + [2p_1 xy + p_2(r^2 + 2x^2)] \\ y_{\text{corrected}} = y + [p_1(r^2 + 2y^2) + 2p_2 xy] xcorrected=x+[2p1xy+p2(r2+2x2)]ycorrected=y+[p1(r2+2y2)+2p2xy]

其中, p 1 , p 2 p_1, p_2 p1,p2 是切向畸变系数。

3.3.2 畸变模型

综合径向畸变和切向畸变,完整的畸变模型可以表示为:
x corrected = x ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) + [ 2 p 1 x y + p 2 ( r 2 + 2 x 2 ) ] y corrected = y ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) + [ p 1 ( r 2 + 2 y 2 ) + 2 p 2 x y ] x_{\text{corrected}} = x(1 + k_1 r^2 + k_2 r^4 + k_3 r^6) + [2p_1 xy + p_2(r^2 + 2x^2)] \\ y_{\text{corrected}} = y(1 + k_1 r^2 + k_2 r^4 + k_3 r^6) + [p_1(r^2 + 2y^2) + 2p_2 xy] xcorrected=x(1+k1r2+k2r4+k3r6)+[2p1xy+p2(r2+2x2)]ycorrected=y(1+k1r2+k2r4+k3r6)+[p1(r2+2y2)+2p2xy]

在相机标定过程中,通过拍摄已知几何形状的标定板(如棋盘格),可以计算出畸变系数 k 1 , k 2 , k 3 , p 1 , p 2 k_1, k_2, k_3, p_1, p_2 k1,k2,k3,p1,p2。然后,利用这些系数对图像进行畸变校正,恢复图像的几何形状。

注:本文转载自blog.csdn.net的TunnyLand的文章"https://blog.csdn.net/qq_42875127/article/details/144251463"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!