基于matlab的FY-4(全圆盘)影像几何纠正

经过三周的努力,解决了FY-4卫星图像的几何校正问题。本文分享了一种利用.mat文件构建查找表的方法,并通过MATLAB读取经纬度数据,最终实现了基于GLT方法的几何校正。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

折腾了三个星期,终于搞定了FY-4的几何纠正问题。期间求人无数,总结起来:还是得靠自己。慢慢摸索,一个个去试,在试错的过程中也让我学会不少东西。话不多说,进入正题。

1.有关FY-4的介绍以及几何校正的两种方法,可以参考官网:http://satellite.nsmc.org.cn/PortalSite/StaticContent/DocumentDownload.aspx?TypeID=3

2.方法选择
         目前有两种方法可以实现FY-4的几何纠正,一种是通过计算方法,一种是通过给定的经纬度文件构建查找表。通过计算的方法经查存在一定的问题,其基本思路是通过计算每个行列号的经纬度坐标文件,然后生成控制点对影像进行校正。具体方法可以自行摸索。这里主要探讨根据官网给出的.raw文件,通过matlab读取,然后生成查找表进行校正。代码如下:
clc,clear;
dim = 10992;
fid=fopen('D:\FY-4\data\FullMask_Grid_1000.raw','rb');
data = fread(fid,dim*dim*2,'double');
b1 = reshape(data,[2,dim,dim]);
b1_lat = reshape(b1(1,:,:),dim,dim);
b1_lon = reshape(b1(2,:,:),dim,dim);
lat = b1_lat';
lon = b1_lon';
fclose(fid);
%%
x = lon(1619:2018,6656:7055);                                              %截取一个子区间
y = lat(1619:2018,6656:7055);
%%
a = [];
b = [];
for i = 1:400                                                              %将图像归一化,主要是为了方便将数值矩阵写成图像
    for j = 1:400                                                          %当然也可以试试mat2gray这个函数
        a(i,j) = (x(i,j) - min(x(:)))/(max(x(:))-min(x(:)));               %由于不清楚上面这个函数用的哪种归一化算法,所以自己写了个函数
        b(i,j) = (y(i,j) - min(y(:)))/(max(y(:))-min(y(:)));
    end
end
imwrite(a,'D:\FY-4\data\xxx_longitude.tif');                               %将查找表文件输出
imwrite(b,'D:\FY-4\data\yyy_latitude.tif');                                %注意输出后的文件在0-255之间,还需将数据还原为原始值,具体方法此处略去
由于全圆盘数据量较大,所以这里只选取了400*400个子区间做实验。得到的X,Y查找表文件如下:




上图分别为经纬度的查找表文件,有了查找表文件后,就可按照如下博客内容,在ENVI里进行基于GLT方法的几何校正工作,博客链接如下:http://blog.sina.com.cn/s/blog_764b1e9d0100qzow.html。

最后附上校正成功后的结果:


### 对 FY-4B 静止卫星圆盘数据进行几何校正 #### 使用的软件和工具 对于 FY-4B 卫星的数据处理MATLAB 是一种常用的工具。其强大的矩阵运算能力和丰富的图像处理函数库使得它非常适合用于遥感影像几何校正工作[^2]。 #### 几何校正的主要方法和技术 几何校正的核心在于通过一系列变换将原始观测到的图像映射回地球表面的实际位置。这通常涉及到以下几个方面: 1. **传感器模型建立** 构建精确描述成像过程中的物理特性的数学表达式,即所谓的“前向方程”。该方程能够把地面目标的空间坐标转换为对应的像素坐标。 2. **控制点选取** 在待矫正图像上挑选若干个具有明显特征的地物作为同名点,并获取它们在地图上的真实地理坐标。这些点被称为地面控制点(GCPs),是实现高精度配准的关键因素之一。 3. **多项式拟合或其他非线性回归技术的应用** 利用最小二乘法原理寻找最佳参数组合来逼近实际变形规律;也可以采用更复杂的机器学习算法来进行预测分析。 4. **重采样操作** 完成上述步骤之后,则需按照新的网格体系重新分配各像素值的过程称为重采样。常见的插值方式有最近邻域法、双线性和三次卷积等几种选择。 #### 实现流程概述 虽然这里不提供具体的代码片段,但可以给出一个大致的工作流框架供参考: ```matlab % 加载FY-4B L1级产品文件并读取感兴趣区域内的辐射亮度计数 data = load('fy_4b_data.mat'); % 假设已经预处理好输入数据结构体变量名为"data" imageData = data.image; % 提取出其中的可见光通道或红外波段信息 % 执行必要的大气订正程序去除气溶胶散射效应影响等因素干扰 correctedImage = atmosphericCorrection(imageData); % 应用地面控制点集实施仿射/项目变换完成初步定位调整 transformedImg = applyGeometricTransform(correctedImage, controlPointsSet); % 进一步优化残差误差直至满足预定阈值条件为止 optimizedImage = refineTransformation(transformedImg); ```
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值