相机表方案
此为帧相机栅格类型的相机表描述,其中包含受支持字段列表。 帧相机是指具有可被建模为针孔的光学镜头的单点透视成像相机。 帧相机栅格类型允许您在镶嵌数据集中管理帧相机影像。
相机表
要在镶嵌数据集中使用帧相机影像,必须提供详细的相机参数和帧信息,用于定义影像坐标系、相机坐标系和地面坐标系之间的数学关系。
下图显示了如何在坐标系之间变换像素:

相机表包含每个相机独有的参数,例如焦距长度、自准直的主点、X 和 Y 坐标以及仿射变换系数。 这些参数可定义相机的内部方向。 表格式可以是地理数据库表、要素类表或 .csv 文件。
您还可以使用构建帧和相机表工具在指导过程中创建相机表。
相机表字段
下面列出了受支持的相机表字段。 请注意,帧表中重复的参数定义优先于相机表中的定义。
相机表中支持的字段
|
字段名 |
字段类型 |
数据类型 |
描述 |
属性域 |
|---|---|---|---|---|
|
ObjectID |
必填 |
数值 |
每个相机的唯一数字标识符。 |
|
|
CameraID |
必填 |
字符串 |
识别相机参数的主键。 |
|
|
FocalLength |
必填 |
数值 |
相机镜头的焦距长度(以微米为单位)。 |
|
|
PrincipalX |
可选 |
数值 |
自准直仪的主点的 x 坐标(以微米为单位)。 如果未定义,则默认值为 0。 主点是指基准中心与自准直的主点 (PPA) 之间的偏移。 假定对称的主点 (PPS) 与 PPA 相同。 |
|
|
PrincipalY |
可选 |
数值 |
自准直仪的主点的 y 坐标(以微米为单位)。 如果未定义,则默认值为 0。 主点是指基准中心与 PPA 之间的偏移。 假定 PPS 与 PPA 相同。 |
|
|
BlockName |
可选 |
字符串 |
影像所属的块(项目)的名称。 |
|
|
NRows |
可选 |
数值 |
影像中的像素行数。 |
|
|
NColumns |
可选 |
数值 |
影像中的像素列数。 |
|
|
NBands |
可选 |
数值 |
影像中的像素波段数。 |
|
|
PixelType |
可选 |
数值或字符串 |
影像的像素类型,可以是与 |
与 rstPixelType 匹配的数值:PT_U1=0、PT_U2=1、PT_U4=2、PT_UCHAR=3、PT_CHAR=4、PT_USHORT=5、PT_SHORT=6、PT_ULONG=7、PT_LONG=8、PT_FLOAT=9、PT_DOUBLE=10、PT_COMPLEX=11、PT_DCOMPLEX=12、PT_CSHORT=12、PT_CLONG=14。 |
|
匹配字符串:8_BIT_UNSIGNED、8_BIT_SIGNED、16_BIT_UNSIGNED、16_BIT_SIGNED、32_BIT_UNSIGNED、32_BIT_SIGNED、32_BIT_FLOAT、1_BIT、2_BIT、4_BIT、64_BIT。 |
||||
|
PixelSize |
必填 |
数值 |
传感器像素大小。 |
单位为微米。 |
|
FilmCoordinateSystem (FCS) |
可选 |
整型 |
用于定义扫描的航空照片和数码航空相机的胶片坐标系。 可用于计算基准信息和仿射变换构造。 注:数码航空相机案例的常见做法是将相机的 X 与飞行方向(默认设置为选项 1:X_RIGHT_Y_UP)对齐。 FCS 用于调整非标准案例。 |
|
|
SRS |
可选 |
字符串 |
与作为文件路径或 WKID(EPSG 代码)的透视点相关联的坐标系。 对于 EPSG 代码,x、y 和 z 的坐标系用分号 (;) 分隔,例如 26918;5773。 如果未定义,则该坐标系默认为用户指定的坐标系或在镶嵌数据空间参考中定义的坐标系。 还可以在镶嵌数据集中为每个影像项目定义空间参考。 如果同时在相机表和帧表中定义了 SRS 参数,则优先采用帧表中的值。 |
|
|
OrientationType |
可选 |
字符串 |
指定如何描述旋转的外部方向 (EO) 参数。 默认值为 |
OPK - 表示将旋转的 EO 参数定义为 Omega、Phi、Kappa、Angle Direction 和 Polarity 字段中的角。 |
|
Matrix - 表示将旋转的 EO 参数定义为 Matrix 字段中的九个系数的矩阵。 |
||||
|
AverageZ |
可选 |
数值 |
平均地面高度。 默认为栅格类型的正射校正属性中指定的值,如果未指定其值,则为零。 |
|
|
ApplyECC |
可选 |
布尔 |
表示是否在根据地面坐标应用变换时考虑地球曲率。 默认值为 |
True - 在根据地面坐标应用变换时考虑地球曲率。 |
|
False - 假设地球是平的。 |
||||
|
EarthRadius |
可选 |
数值 |
用于地球曲率调整的备选值。 默认值是 |
单位是米。 |
|
AngleDirection |
可选 |
字符串 |
指定 EO 角的方向。 默认值为 |
-1:表示按顺时针方向指定 EO 角。 |
|
+1:表示按逆时针方向指定 EO 角。 |
||||
|
Polarity |
可选 |
数值 |
表示影像平面是假定在对象或地平面的透视中心的同一侧还是对面。 默认值为 |
-1:表示在影像平面的对面。 |
|
+1:表示在影像平面的同一侧。 |
||||
|
DistortionType |
可选 |
字符串 |
指定如何描述镜头变形。 选项包括 |
默认为失真模型。 |
|
畸变模型 - 表示畸变校正由 |
||||
|
畸变表 - 表示将畸变定义为一组表示半径距离和相应畸变值的 (r,v) 对。 必须填充 RadialDistances 和 RadialDistortions 字段。 |
||||
|
放射状 |
对于失真类型 = DistortionModel |
字符串 |
指定描述径向畸变的四个以空格或分号分隔的系数的集合,例如,对于 K0;K1;K 2;K3,指定 0;0;0;0。 耦合单位为毫米 (mm)。 如果提供了三个径向畸变参数,则将 k0 设置为零,并输入 k1、k2 和 k3 的值。 如果提供的参数没有耦合单位(这在计算机视觉应用中十分常见),请使用以下等式转换参数,其中 f 是以毫米为单位的焦距,K1_cv 是没有耦合单位的计算机视觉参数:
|
|
|
Tangential |
对于失真类型 = DistortionModel |
字符串 |
指定两个以空格或分号分隔的切向畸变系数的集合,例如,对于 P1;P2,指定 0;0。 耦合单位为毫米 (mm)。 如果提供的参数没有耦合单位,请使用以下等式转换参数,其中 f 是以毫米为单位的焦距,p1_cv 是没有耦合单位的计算机视觉参数:
|
|
|
RadialDistances |
可选 |
字符串 |
以空格或分号分隔的径向距离表示为 N 个值的有序集合 <r[i]>。 每个 r[i] 距离值在 单位为微米。 |
|
|
RadialDistortions |
可选 |
字符串 |
以空格或分号分隔的畸变值表示为 N 个值的有序集合 <d[i]>。 每个 d[i] 畸变值对应于 单位为微米。 |
|
|
FilmFiducials |
可选 |
数值 |
用于存储相机的基准坐标,以微米为单位。 |
格式为以分号分隔的值对,例如“106003.0 -106000.0;-105997.0 -106001.0;-106002.0 105998.0;105999.0 106000.0”。 此示例显示了 4 个拐角基准,而某些相机可能具有 4 个边基准,其他相机可能具有 8 个基准位置。 |
|
AffineDirection |
可选 |
字符串 |
指定 IO 仿射变换的方向。 若未指定,则默认使用影像到胶片方向 (+1)。 |
+1:影像到胶片。 |
|
-1:胶片到影像。 |
||||
|
A0、A1、A2 以及 B0、B1、B2 字段 |
可选。 定义像素大小和 FCS 时不需要。 |
数值 |
可在影像空间与胶片空间之间建立关系的仿射变换的系数。 该变换的方向以
|
注:
建议您定义相机的像素大小,以用于自动确定仿射参数,而非计算 A0、A1、A2 以及 B0、B1 和 B2。 相机的像素大小通常随附相机的校准信息一起提供。 如果未提供相机的像素大小,则可以使用以下公式进行计算:
\(Pixel \space Size \space = \space CCD \space Diagonal \space / \space Image \space Diagonal(in \space pixels)\)
where
\(CCD \space Diagonal \space = \space 2 \space * \space (Focal \space Length \space * \space Tan(FOV/2))\)
注:

相机表示例
下面是存储为地理数据库表的相机表示例。 此表引用了上述可能字段。 示例中包含一行,因为只用了一台相机。
相机表示例
|
OBJECTID |
CameraID |
焦距长度 (µm) |
主点 X (µm) |
主点 Y (µm) |
像素大小 (µm) |
|---|---|---|---|---|---|
|
1 |
UltraCamXp_Pan |
100500 |
-120 |
0 |
6 |
|
2 |
UltraCamXp_MS |
100500 |
0 |
0 |
18 |