本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiluoduyu/
从网上查看很多关于几何校正的代码,不过好像基本上都差不多,下载下来调试基本上都是说说而已,根本没法真正做到几何校正的目的。好多人也在怀疑GDAL到底能不能做几何精校正,经过自己的努力,我发现,其实只要稍微改一下,GDAL完全可以做到多项式几何精校正的,在此跟大家分享下思路,也希望大牛们有更好的方法的话共享下。
首先说一下最简单的几何校正模型---仿射校正模型(叫法可能不对,大家明白即可)。所谓仿射校正,即是通过地理坐标来确定转换关系的。首先根据控制点数组用GDALGCPToGeoTransform得到转换系数,然后代入待校正影像的四个角点坐标(0,0),(w,0),(0,h),(w,h)得到八个地理坐标值,对八个地理坐标值进行简单排序得到水平方向和竖直方向的四个最值。我觉得在做几何校正时最好能保持像元分辨率不变,因而通过将之前得到的地理坐标最值除以分辨率即可得到目标影像或结果影像的行列数,此时得到的行列数未必是整数,所以