相机畸变系数 b 1 , b 2 b_1,b_2 b1,b2与畸变系数skew和aspect ratio的互转
相机畸变系数 b 1 , b 2 b_1,b_2 b1,b2与畸变系数aspect ratio和skew是可以互相转换的畸变表达方式。 b 1 b_1 b1,aspect ratio用于表达影像的像元x、y方向尺寸不一致; b 2 b_2 b2、skew用于表达x轴y轴不垂直引起的畸变。本文将介绍这两种参数表示方式的互相转换方法:首先介绍应用这两种参数表示法的畸变模型,然后介绍如何互相转换。
两种模型的写法
( x ′ , y ′ ) (x',y') (x′,y′)是经过径向、切向畸变系数改正的像点坐标。 ( x , y ) (x,y) (x,y)是经过xy尺寸、垂直性校正后的坐标。这两个坐标均是在以像主点为原点的像平面坐标系中表达的。
[ x y ] = { f x ′ + b 1 x ′ + b 2 y ′ f y ′ \begin{bmatrix}x\\y\end{bmatrix}=\begin{cases}fx'+b_1 x'+b_2 y'\\fy' \end{cases} [xy]={fx′+b1x′+b2y′fy′
其中, b 1 b_1 b1, b 2 b_2 b2的定义与metashape文档说明一致。
[ x y ] = { f x ′ + s y ′ ρ f y ′ \begin{bmatrix}x\\y\end{bmatrix}=\begin{cases}fx'+sy'\\\rho fy' \end{cases} [xy]={fx′+sy′ρfy′
其中, s s s表示skew, ρ ρ ρ表示aspect ratio。可参见ContextCapture文档。
转换方式
这一节我们依然把skew记作s,aspect ratio记作ρ,用:=
表示赋值操作。必须要说明的是,从上面两个公式可见,尽管焦距f的符号是一致的,但是转换 b 1 , b 2 b_1,b_2 b1,b2和skew、aspect ratio时,焦距也要相应的变化。
由 b 1 , b 2 b_1,b_2 b1,b2计算skew和aspect ratio
s : = b 2 ρ : = f / ( f + b 1 ) f : = f + b 1 s:=b_2\\ \rho:=f/(f+b_1)\\ f:=f+b_1\\ s:=b2ρ:=f/(f+b1)f:=f+b1
由skew和aspect ratio计算 b 1 , b 2 b_1,b_2 b1,b2
b 2 : = s b 1 : = f − ρ f f : = ρ f b_2:=s\\ b_1:=f-\rho f\\ f:=\rho f\\ b2:=sb1:=f−ρff:=ρf