gdal_遥感影像配准

参考博客

配准流程:

影像配准最常用的就是用来将多光谱影像和全色影像配准,然后进行融合得到高分辨率的多光谱影像,影像只要能够提供图像行列号和真实的地理坐标就可以进行处理。

数据准备:多光谱影像和全色影像配准

1、准备工作

要进行影像配准,首先要选取控制点,这里我们使用QGIS进行辅助选点工作。用QGIS打开了Google的卫星影像作为参考影像(Google的卫星数据的投影用的是Web墨卡托投影,不知道的童鞋请问问谷歌或者度娘)。然后使用QGIS中的Georeferencer插件来进行选取控制点。(Georeferencer插件是QGIS中用来选取控制点进行影像配准的工具,网址是:GIS-Lab: Georeferencing raster data in QGIS using polynomials。)

点开插件之后,在插件中打开Orb-View3的数据作为待配准影像,如图3所示

gdal_遥感影像配准_第1张图片

2、选取控制点

接下来的主要工作就是选择控制点。选择控制点尽可能的均匀的分布在整幅图像上,然后我们将选择好的控制点保存成一个控制点文件,这个控制点文件是个文本格式,可以用记事本打开查看。下图4是选择的控制点列表,并且计算了中误差(这里的中误差有点大,可以移动控制点对其进行修改,我就不修改了)。

gdal_遥感影像配准_第2张图片

3、生成带有控制点的图像数据

由于GDALWarp工具不能直接加载控制点文件中的控制点,所以才有了这一步。这一步的目的就是把原来的图像和控制点信息都保存到一副新的图像中去。为接下来的第四步做准备工作。好了,废话不多说,这里我们用到的工具是gdal_translate(关于这个工具的作用和使用说明可以参考我之前的博文,或者直接看GDAL官方提供的帮助文档,地址是:http://www.gdal.org/gdal_translate.html。)使用这个工具的命令行如下:

-gcp pixel line easting northingelevation,添加指定地面控制点到输出数据集。
这个选项可以被多次使用,以提供一系列的地面控制点GCPs 。GCP格式为:列号 行号 横坐标 纵坐标 高程值。

>gdal_translate -of GTiff-gcp 4280.35 11869 1.29566e+07 4.85182e+06 -gcp 3690.92 10956 1.29561e+074.85316e+06 -gcp 4462.46 10753.5 1.29571e+07 4.85321e+06 -gcp 4256.06 9726.071.29571e+07 4.85459e+06 -gcp 3390.84 9950.69 1.2956e+07 4.85454e+06 -gcp2338.91 2867.69 1.29565e+07 4.86395e+06 -gcp 5252.16 1409.01 1.29606e+074.86504e+06 -gcp 7577.26 199.105 1.29639e+07 4.86595e+06 -gcp 998.878 27260.61.29482e+07 4.83279e+06 -gcp 7211.95 28334.6 1.29559e+07 4.82966e+06 -gcp3907.23 24825.2 1.29526e+07 4.83515e+06 -gcp 165.189 21560 1.29487e+07 4.84042e+06-gcp 6352.08 23457.6 1.29561e+07 4.83624e+06 -gcp 4886.49 20770 1.2955e+074.84014e+06 -gcp 6701.2 17214.2 1.29582e+07 4.84425e+06 -gcp 2279.63 18098.31.29524e+07 4.84432e+06 -gcp 521.509 14313.2 1.29511e+07 4.8497e+06 -gcp4883.22 15076.1 1.29565e+07 4.84751e+06 -gcp 7595.89 11488.5 1.29609e+074.85141e+06 -gcp 203.457 8092.35 1.29524e+07 4.8578e+06 -gcp 7914.81 8033.131.29622e+07 4.85578e+06 -gcp 4791.71 6232.26 1.29587e+07 4.85895e+06 -gcp964.329 617.326 1.29554e+07 4.86722e+06 -gcp 3061.68 27991.1 1.29507e+074.83126e+06 "F:/Data/Orb-View3/3V051217P0001015651A520008201092M_001625916/3v051217p0001015651a520008201092m_001625916.tif" "F:/Data/Orb-View3/3v051217p0001015651a520008201092m_001625916_GCP.tif"
Input file size is 8016,28672
0...10...20...30...40...50...60...70...80...90...100- done.

 4、使用GDALWarp进行图像配准

有了第三步的处理,下面可以直接使用GDALWarp工具来对图像进行配准了。配准的命令行如下:

> gdalwarp -r cubic -order2 -tr 1.000000 -1.000000"F:\Data\Orb-View3/3v051217p0001015651a520008201092m_001625916_GCP.tif""F:/Data/Orb-View3/3v051217p0001015651a520008201092m_001625916_georef.tif"

上面的命令中有个-order 2,意思是使用二次多项式进行校正,此外还可以用一次多项式和三次多项式,当然了,就是把3换成1或者3就行了,很简单吧。此外GDAL还提供了一种叫TPS(ThinPlane Spline)的校正方式,与Erdas的Rubber Sheeting算法比较类似。

 5、配准精度验证

至此,我们对影像的配准已经完成,接下来就是对其配准的精度进行验证。验证的方法是在QGIS中添加进来进行目视检查(当然这个是最直观的一种检查方式,缺点是不能定量分析,如果你不累的话,可以选些检查点进行定量分析一下)。下面是使用QGIS叠加显示的效果(图7),或者也可以用ArcMap或者Erdas的卷帘查看。

你可能感兴趣的:(GDAL,GDAL遥感影像处理,计算机视觉,图像处理,人工智能)