MATLAB代码实现---遥感图像预处理系统

功能介绍

(严格意义上不能称得上系统,只能说是一个处理流程介绍吧。)
对spot和tm影像进行几何校正,各截取出同一区域(任一区域),重采样后采用HIS融合方法进行融合,HIS变换融合方法首先将空间分辨率低的3波段多光谱影像变换到HIS空间,得到色度H、明度I、饱和度S3分量;然后将高空间分辨率影像进行对比度拉伸,使之与I分量有相同的均值和方差。HIS变换融合主要步骤如下:

  1. 将多光谱图像作IHS变换,分别得I,H,S 3个分量;
  2. 将全色图像和I分量图像进行灰度直方图匹配,然后用全色图像代替I分量作为新的I分量;
  3. 利用新的I分量和原来的H,S分量作RGB变换即得到融合后的图像。

代码实现

1.几何校正

读取图片,通过cpselect函数在两张待处理图片中选取配准点对。最后将点对文件进行保存。然后使用fitgeotrans函数建立两组点对之间的映射关系,得到一个变换矩阵。最后基于该变化矩阵,使用imwarp函数对tm影像进行图像变换。得到了校正后的tm影像。
代码
在这里插入图片描述

2.裁剪

为了便于后续的HIS变换,需要在spot影像和校准后的tm影像中裁剪出同一块区域。因为两幅影像的尺寸不同,同一个地物在两个影像中的坐标位置也就不一样,因此要找到两幅影像间点对点的映射关系,才能得到一幅影像地物在另一幅影像中的对应坐标范围,进而才能裁剪出同一范围的地图影像。通过步骤cpselect函数找spot影像和校准后的tm影像之间的几组配准点对,然后通过fitgeotrans函数得到映射关系,使用transformPointsForward函数得到spot影像上一点在校准后的tm影像中对应的坐标关系,然后选择合适的范围,使用imcrop函数对这两幅影像进行裁剪。
在这里插入图片描述
在这里插入图片描述

3.HIS变换

先把tm影像通过rgb2hsv函数转成hsv格式,然后然后提取I分量的数据。使用histeq函数对spot影像进行直方图均衡化,然后把直方图均衡化后的spot影像的值使用imdouble转换成双精度,使其与hsv格式的tm影像的值类型一样。用上一步得到的spot影像替换把tm影像的I分量,最后通过hsv2rgb函数把hsv格式的tm影像转成rgb格式用imshow函数显示即可。
在这里插入图片描述
在这里插入图片描述

4.完整代码

完整代码及运行结果如下:

clc,clear
spot = imread('D:/桌面/sp.tif');    %基准
tm = imread('D:/桌面/tm.tif');      %待校准

%cpselect(tm,spot);   %选择配准点对
load('D:/桌面/movingPoints.mat');    %读取配准点对文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值