0
点赞
收藏
分享

微信扫一扫

matlab给影像加地理坐标信息

小飞侠熙熙 2022-04-06 阅读 46
matlab遥感

文章目录


前言

matlab给影像加地理坐标信息,一直没有很系统的明白,现在学习并记录吧


一、geotiffread,geotiffwrite,geotiffinfo

fclose all
clear all
clc

filename='D:\sift_test\landsat_5.tif';
output_file_name='D:\landsat_5_copy.tif';
%% 给影像加地理坐标信息
[im_l,Geo]=geotiffread(filename);
info=geotiffinfo(filename);
geotiffwrite(output_file_name,im_l,Geo,'GeoKeyDirectoryTag',info.GeoTIFFTags.GeoKeyDirectoryTag);

二、matlab 实现对影像的拼接

%% mosaic 2 images   (要求: 2张影像地理坐标投影:geographic,或者是  投影坐标系    ,但是两张影像行列数一致等基本信息一致)

X_west = imread('D:\matlab_mosaic\left.tif');
X_east = imread('D:\matlab_mosaic\right.tif');
X = [X_west X_east];

% 影像为地理坐标投影    下面函数的参数为: 'geographic'
% 若影像为投影坐标系, 则函数参数为: 'planar'

R_west = worldfileread('D:\matlab_mosaic\left.tfw', 'geographic', size(X_west));
R_east = worldfileread('D:\matlab_mosaic\right.tfw', 'geographic', size(X_east));
R = R_west;
R.XLimWorld = [R_west.XLimWorld(1) R_east.XLimWorld(2)];
R.RasterSize = size(X);
out_f='D:\matlab_mosaic\mosaic_li2.tif';

% 下面的coordRefSysCode 代码4326为WGS 经纬度坐标系。与原始影像对应。
% 若原始影像为投影坐标系,则修改 coordRefSysCode   即  找一些对应的EPSG code
coordRefSysCode = 4326;
geotiffwrite(out_f, X, R,'CoordRefSysCode', coordRefSysCode);


总结

举报

相关推荐

0 条评论