跳到主要内容

正射变换和仿射变换

正射变换(Orthorectification)和仿射变换(Affine Transformation)是地理空间数据处理中两种常见的几何变换方法,它们在应用和目的上有明显的不同。

正射变换(Orthorectification)

正射变换是将存在地形起伏和传感器几何畸变的遥感图像或航空照片,纠正为**地面正视图(如地图)**的过程,使得图像中每个像素的位置与地面实际坐标严格对应。原理是从相机传感器模型(如 RPC、多项式)出发,结合地面高程模型(DEM),将每个图像像素投影到三维地面空间后,再重新采样到一个统一的投影平面上

简言之:

把“歪的图”拉正,把“高低不平”的地形因素校正进去

特性说明
校正对象地形起伏、倾斜、传感器成像畸变
输入数据原始影像 + 数字高程模型(DEM) + RPC 或几何模型
输出图像正射影像(Orthophoto / Orthoimage)
精度最高,适用于测量、制图、GIS 分析等高要求应用
结果可叠加性可与地图、GIS图层无缝叠加,无几何误差
常用于航空摄影测量、卫星遥感、无人机测绘

仿射变换(Affine Transformation)

仿射变换是一种二维几何变换,保持平直线和平行性,用于图像几何纠正(如图像配准、拼接、投影变换等),通过线性代数实现图像坐标与地面坐标之间的近似线性映射。

GDAL中的仿射变换参数

GDAL 使用一个长度为 6 的数组(称为 GeoTransform)来描述从像素空间(栅格索引)到地理空间(地图坐标)的仿射关系

GeoTransform[6] = [GT0, GT1, GT2, GT3, GT4, GT5]

该变换定义了从栅格行列 (i, j) 到地理坐标 (X_geo, Y_geo) 的映射公式:

Xgeo=GT0+GT1i+GT2jX_{geo} = GT0 + GT1 * i + GT2 * j Ygeo=GT3+GT4i+GT5jY_{geo} = GT3 + GT4 * i + GT5 * j

参数含义(基于 GDAL 官方定义)

参数索引名称英文说明含义解释
GT0TopLeftXX coordinate of the top-left corner of the top-left pixel左上角像素的地图 X 坐标(通常是投影或地理坐标)
GT1PixelWidthW-E pixel resolution / pixel size in X direction每个像素在 X 方向上的大小(通常为正)
GT2RotationXRow rotation (typically 0)行方向旋转角影响的 X 分量(通常为 0)
GT3TopLeftYY coordinate of the top-left corner of the top-left pixel左上角像素的地图 Y 坐标
GT4RotationYColumn rotation (typically 0)列方向旋转角影响的 Y 分量(通常为 0)
GT5PixelHeightN-S pixel resolution / pixel size in Y direction (usually negative)每像素在 Y 方向上的大小(通常为负值,表示向下)

参考资料:

Raster Data Model — GDAL documentation

GeoTIFF中的仿射变换

仿射变换在是实现 GeoTIFF 与真实地理坐标系统精确对接的核心机制。GDAL(以及多数 GIS 软件)通过 GeoTransform 6 参数 + 投影信息(如 WKT 或 EPSG),将图像从“像素网格”空间转换为“地理空间”。

GeoTIFF 中仿射变换的存储方式

  • TIFF 标签
    • ModelPixelScaleTag → 对应 GT1, GT5(像素大小)
    • ModelTiepointTag → 对应 GT0, GT3(图像基准点)
  • GeoKeyDirectoryTag
    • 储存 EPSG 编码、单位、投影类型等 CRS 信息
  • GDAL 元数据(在外部 .aux 或 VRT 文件中):
    • GeoTransform 显式表示完整 6 参数

二者对比总结

项目正射变换(Orthorectification)仿射变换(Affine Transformation)
是否考虑高程✅ 是,考虑地形起伏(DEM)❌ 否,忽略地形高差
几何模型精度高,支持传感器建模中等,线性模型
所需数据影像 + DEM + 几何模型/RPC影像 + 控制点
应用场景航测正射影像、卫星图制图图像配准、地形轻微校正
变换性质非线性投影变换线性几何变换
精度和成本精度高但计算复杂精度中等但快速