import logging import argparse from osgeo import gdal class TransOrthophoto: def __init__(self): self.logger = logging.getLogger('UAV_Preprocess.TransOrthophoto') logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s') def trans_to_epsg4326(self, input_img, output_img): # 目标坐标系 dst_srs = 'EPSG:4326' # 使用 gdal.Warp 进行重投影 gdal.Warp( destNameOrDestDS=output_img, srcDSOrSrcDSTab=input_img, dstSRS=dst_srs, format='GTiff', resampleAlg='near' # 最近邻插值 ) self.logger.info(f"文件已成功重投影: {output_img}") if __name__ == "__main__": parser = argparse.ArgumentParser(description="正射影像投影转换为EPSG:4326 (GDAL实现)") parser.add_argument('--input_img', required=True, help='输入影像路径') parser.add_argument('--output_img', required=True, help='输出影像路径') args = parser.parse_args() trans = TransOrthophoto() trans.trans_to_epsg4326(args.input_img, args.output_img)