相机偏置矩阵
This commit is contained in:
@@ -14,9 +14,10 @@ const (
|
||||
PANPixels = float64(payload.PAN_PIXEL_WIDTH)
|
||||
PANCellSize = 3.2 // µm
|
||||
MSSPixels = float64(payload.MSS_PIXEL_WIDTH)
|
||||
MSSCellSize = 12.8 // µm
|
||||
CameraRoll = 0.0 // 相机与卫星本体X轴的安装角度, degree FIXME: 安装矩阵应该由卫星方提供
|
||||
CameraPitch = 0.0 // 相机与卫星本体Y轴的安装角度, degree
|
||||
MSSCellSize = 12.8 // µm
|
||||
CameraRoll = -0.010 // 相机与卫星本体X轴的安装角度, degree FIXME: 安装矩阵应该由卫星方提供
|
||||
CameraPitch = 0.183 // 相机与卫星本体Y轴的安装角度, degree
|
||||
CameraYaw = 0.012 // 相机与卫星本体Z轴的安装角度, degree
|
||||
)
|
||||
|
||||
// 计算过程使用PAN分辨率
|
||||
@@ -80,9 +81,17 @@ func CameraRotMatrix(phi, theta, psi float64) *mat.Dense {
|
||||
-math.Sin(theta), 0, math.Cos(theta),
|
||||
})
|
||||
|
||||
Rz := mat.NewDense(3, 3, []float64{
|
||||
math.Cos(psi), -math.Sin(psi), 0,
|
||||
math.Sin(psi), math.Cos(psi), 0,
|
||||
0, 0, 1,
|
||||
})
|
||||
|
||||
// R = Rz * Ry * Rx
|
||||
RyRx := mat.NewDense(3, 3, nil)
|
||||
RyRx.Mul(Ry, Rx)
|
||||
Rzxy := mat.NewDense(3, 3, nil)
|
||||
Rzxy.Mul(Rz, RyRx)
|
||||
|
||||
return RyRx
|
||||
return Rzxy
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user