ENVI实战:从零开始掌握遥感图像几何校正技巧
1. 遥感图像几何校正入门指南第一次接触遥感图像几何校正时我盯着屏幕上扭曲的卫星图像完全摸不着头脑。明明拍的是城市道路怎么看起来像被哈哈镜照过一样后来才知道这是因为传感器姿态、地形起伏等因素导致的几何畸变。就像我们用手机拍高楼时出现的梯形效应只不过遥感图像的变形更复杂。ENVI作为遥感领域的瑞士军刀提供了完整的几何校正解决方案。它支持三种常见场景Image to Image用已校正图像作为基准Image to Map用地图坐标进行校正Image to GPS用现场测量的控制点校正初学者最常见的问题就是控制点GCP选择。有次我为了省事只在图像中心区域选了三个点结果边缘校正得一塌糊涂。后来发现控制点要像披萨上的配料一样均匀分布最好能覆盖四个角落和中心区域。2. ENVI软件环境准备2.1 软件版本选择ENVI Classic和ENVI 5.x版本的操作界面差异较大。新手我建议先用Classic版本它的几何校正模块更集中。在Windows开始菜单里能看到ENVI Classic (32-bit)和ENVI Classic (64-bit)根据你的系统选择。如果处理大型影像64位版本能更好地利用内存。安装时记得勾选ENVI IDL组件虽然我们暂时用不到编程功能但某些高级校正算法需要这个模块支持。有次我重装系统后急着处理数据结果发现三角网校正法灰显不可用就是因为漏装了这个组件。2.2 数据准备技巧几何校正需要两类数据待校正影像如无人机航拍图参考数据可以是已校正影像、地形图或GPS测量点有个实用技巧把参考数据先加载到ENVI中右键选择Display Metadata查看坐标系信息。有次我用了WGS84坐标的参考图去校正北京54坐标的影像结果偏差了上百米。后来在Map Registration Select GCPs时才发现坐标系不匹配。对于没有地理参考的扫描地图建议提前准备控制点文件.pts格式格式如下; ENVI Control Points File 106.5012,29.5632,1024,768 ; 经度,纬度,像素X,像素Y 106.5123,29.5715,2048,15363. 控制点采集实战技巧3.1 人工选点方法论点击Map Registration Select GCPs: Image to Map启动控制点采集。这里有个隐藏技巧先放大到400%视图再选点精度能提高至少30%。我常用的选点策略是第一轮选4个角点像框选图像范围第二轮沿对角线选中间点第三轮在特征明显处补充点道路交叉口是最理想的控制点但要注意选择沥青与标线的交界处避开树木阴影遮挡区域确认近期没有道路改建3.2 自动预测的妙用选够4个点后Predict按钮会亮起。这时候在参考图上点击新位置ENVI会自动预测待校正图像上的对应点。实测这个功能能节省50%以上的时间但要注意预测偏差大时不要强行使用复杂地形区域建议关闭预测可以调整Options Prediction Settings里的搜索窗口大小有次我在山区影像校正时自动预测总是偏移几十米。后来把搜索窗口从默认的21×21调到51×51预测准确率明显提升。3.3 RMS误差控制控制点列表里的RMS值反映单个点的匹配误差总RMS应控制在1个像素以内。我发现这些规律平原地区RMS容易控制在0.5以下山区RMS在0.8左右仍可接受如果某点RMS突然变大可能是选错了特征遇到问题点时不要直接删除先尝试在Zoom窗口微调位置点击Update按钮更新坐标实在不行再删除4. 校正参数深度解析4.1 校正模型选型ENVI提供三种数学模型RST旋转缩放平移适合简单变形最少需要3个点多项式常用2次多项式需要6个点以上三角网适合复杂地形需要密集控制点城市区域我用2次多项式比较多有一次处理山区影像时出现边缘翘曲换成三角网模型后问题立刻解决。模型选择有个经验公式平坦区域1次多项式一般地形2次多项式高山峡谷三角网4.2 重采样方法对比点击Warp File后要选择重采样方法方法优点缺点适用场景最近邻保持原始值产生锯齿分类图像双线性平滑效果好模糊细节自然影像三次卷积细节保留好计算量大高分辨率影像有个容易忽略的参数是Background Value默认是0。但如果你处理的是热红外影像0可能是有效值这时建议改成-9999等无效值标识。4.3 输出分辨率设置在Output Parameters里设置像素大小时要注意值越小图像越大更多细节值越大图像越小更少细节建议与原始分辨率相当我常用的技巧是在Pixel Size里先输入原始分辨率然后按Tab键ENVI会自动计算输出图像尺寸。如果想做分辨率融合可以手动输入更小的值比如把30米影像升采样到15米。5. 结果验证与问题排查5.1 叠置比对法校正完成后最简单的验证方法是将校正结果和参考图分别加载到两个Display右键选择Geographic Link开启Flicker模式快速切换对比有次我发现道路总是对不齐后来发现是参考图本身有偏移。这时候就需要第三方的验证数据比如用手机GPS记录的特征点坐标。5.2 误差传递分析几何校正误差主要来自控制点定位误差人工选点约1-2像素模型拟合误差多项式模型在边缘较大重采样误差最近邻法影响最大建议在报告中标明这些误差源。我曾经处理过一批历史航片由于控制点精度有限最终在报告中注明整体精度约3个像素。5.3 常见问题解决问题1校正后图像出现黑色边缘原因输出范围设置过大解决调整Output Image Extent问题2图像出现规律性条纹原因控制点分布不均解决在空白区域补点或改用三角网问题3校正耗时过长原因输出分辨率设置过高解决适当降低分辨率或分块处理有次处理2GB的航拍图校正花了3小时。后来发现是同时开启了Output Stats选项关闭后时间缩短到40分钟。6. 生产环境优化建议6.1 批处理技巧对于大量影像可以保存控制点文件.pts记录校正参数设置使用File Batch Processing功能我开发过一个IDL脚本自动读取Excel中的控制点坐标实现全自动批处理。核心代码如下pro batch_geocorrect ; 读取Excel控制点 gcp_data READ_EXCEL(gcp.xlsx) ; 循环处理每景影像 foreach image, images do begin ; 执行几何校正 ENVI_DOIT, GEO_CORRECT, $ IMAGEimage, $ GCP_DATAgcp_data, $ METHODPolynomial, $ DEGREE2 endforeach end6.2 质量控制流程我们团队建立的质检标准包括控制点数量≥15个针对1km×1km区域总RMS0.8像素边缘检查点误差1.5像素目视检查无明显错位建议保存完整的处理日志包括控制点坐标文件校正参数截图误差统计结果7. 进阶技巧与案例分享7.1 异源影像校正用卫星影像校正无人机数据时要注意选择同时相的数据考虑分辨率差异建议比例5:1多光谱影像选择近红外波段匹配植被特征明显有次用10米分辨率的Sentinel-2校正2米无人机影像在建筑物边缘总是匹配不准。后来改用无人机DSM数据生成模拟阴影作为匹配特征效果立竿见影。7.2 历史影像校正处理老航片时遇到的特殊问题坐标系转换比如从北京54到CGCS2000地物变化消失的池塘、新建的高速路胶片变形需要额外的物理校正我开发过一个半自动工具通过对比历史地图和现代影像自动识别稳定特征点将控制点采集效率提高了70%。7.3 三维场景校正对于倾斜摄影模型需要在ENVI中加载三维视图View 3D Surface View在多个视角采集控制点使用RPC Orthorectification模块有个项目要求把2005年的倾斜航片与现在的实景三维模型对齐我们创新性地使用了屋顶烟囱、楼梯间等高空特征作为控制点最终平面精度达到0.3米。