引自https://blog.csdn.net/qq_27045589/article/details/81062586
1 def main(): 2 3 infile = "F:\\Temp_Data\\MOD13A2_20180610_H23V04_NDVI.tif" 4 outfile = "F:\\Temp_Data\\MOD13A2_20180610_H23V04_NDVI_GEO.tif" 5 6 dataset = gdal.Open(infile, gdal.GA_Update) 7 gcps_list = [gdal.GCP(77.760364, 50.00, 0, 0, 0), 8 gdal.GCP(93.330364, 50.00, 0, 1199, 0), 9 gdal.GCP(78.320364, 40.01, 0, 1199, 1199), 10 gdal.GCP(65.270364, 40.01, 0, 0, 1199)] 11 sr = osr.SpatialReference() 12 sr.SetWellKnownGeogCS('WGS84') 13 dataset.SetGCPs(gcps_list, sr.ExportToWkt()) 14 15 dst_ds = gdal.Warp(outfile, dataset, format='GTiff', tps=True, 16 xRes=0.01, yRes=0.01, dstNodata=-3000, srcNodata=-3000, 17 resampleAlg=gdal.GRIORA_Bilinear, outputType=gdal.GDT_Float32) 18 # print dst_ds 19 del dataset, gcps_list, sr 20 21 22 if __name__ == '__main__': 23 main()
校正前:
校正后:
注:envi_register_doit函數校正后圖像范圍發生變化,而GDAL圖像校正不會出現這種問題。