实验七 遥感图像读取

一、实验目的

  1. 熟悉MATLAB中遥感图像读写的格式;
  2. 掌握多波段遥感图像的读取与存储;
  3. 掌握多波段遥感图像中单波段、不同波段的组合显示。

二、实验仪器及设备

计算机、Matlab图像处理软件、Landsat8遥感图像

三、实验基础

1.实验遥感图像简介

2013年2月11日Landsat8卫星成功发射,设计寿命为五年,星上携带两个主要设备,陆地成像仪和热红外传感器。陆地成像仪共11个波段,其中可见光,近红外,短波红外波段空间分辨率为30米,热红外波段空间分辨率为100米,全色波段分辨率为15米,成像宽幅185kmx185km。陆地成像仪包括ETEM+传感器的所有波段,但为了避免大气吸收特征,对波段进行了重新调整,比较大的调整是band5,排除了0.825um处水汽吸收特征,全做波段band8范围较窄,可以在全色图像上更好地区分植被和无植被特征,此外还增强了两个波段蓝色波段,主要应用于海岸带观测短波红外波段。包括水汽强吸收特征,可用于云检测,近红外和短波红外波段与modest对应的波段接近。

2.相关函数
MATLAB中用于多波段图像读写的函数包括multibandread和multibandwtite。

四、实验内容及步骤

  1. 遥感图像头文件读取
clc;clear;
hdrname='D:\Remote_sensing\ENVI实验数据\ENVI_shiyuan_dt\shiyan\LC81230322013276LGN00_MTL_shiyan.hdr';fid=fopen(hdrname,'r');info=fread(fid,'char=>char');info=info';%转置为行向量fprintf(info);%界面输出打印显示fclose(fid);
>> rs_hdr
ENVI
description = {Calibrated Radiance from LC81230322013276LGN00_MTL_MultiSpectral}
samples = 7771
lines   = 7901
bands   = 7
data type = 4
interleave = bil
file type = ENVI Standard
header offset = 0
byte order = 0
map info = {UTM, 1.000, 1.000, 358485.000, 4582815.000, 3.000000e+001, 3.000000e+001, 50, North, WGS-84, units=Meters}
coordinate system string = {PROJCS["WGS_1984_UTM_Zone_50N",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",117.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]}
default bands = {4,3,2}
band names = {Coastal aerosol, Blue, Green, Red, Near Infrared (NIR), SWIR 1, SWIR 2}
wavelength = {0.443000, 0.482600, 0.561300, 0.654600, 0.864600, 1.609000, 2.201000}
fwhm = {0.016000, 0.060100, 0.057400, 0.037500, 0.028200, 0.084700, 0.186700}
wavelength units = Micrometers
data ignore value = 0.00000000e+000
sun azimuth = 156.793278sun elevation = 43.279056
cloud cover = 6.400000
earth sun distance = 1.000646
sensor type = Landsat OLI
acquisition time = 2013-10-03T02:55:24.3050919Z
calibration scale factor = 0.100000
data units = W m^-2 sr^-1 um^-1
image quality = 9
  1. 遥感图像基本信息读取
%读取列数、行数、波段数、数据类型%列数ac=strfind(info,'samples = ');bc=length('samples = ');cc=strfind(info,'lines   ');samples=[];for i=ac+bc:cc-1samples=[samples,info(i)];endsamples=str2num(samples);%行数ar=strfind(info,'lines   = ');br=length('lines   = ');cr=strfind(info,'bands   ');lines=[];for i=ar+br:cr-1lines=[lines,info(i)];endlines=str2num(lines);%波段数ab=strfind(info,'bands   = ');bb=length('bands   = ');cb=strfind(info,'data type ');
bands=[];for i=ab+bb:cb-1bands=[bands,info(i)];endbands=str2num(bands);%数据类型ab=strfind(info,'data type = ');bb=length('data type = ');cb=strfind(info,'interleave');datatype=[];for i=ab+bb:cb-1datatype=[datatype,info(i)];enddatatype=str2num(datatype);precision=[];switch datatypecase 1precision='unit8=>unit8';case 2precision='int16=>int16';case 12precision='unit16=>unit16';case 3precision='int32=>int32';case 13precision='unit32=>unit32';  case 4precision='float32=>float32';  case 5precision='double=>double'; end
%数据格式at=strfind(info,'interleave = ');bt=length('interleave = ');ct=strfind(info,'sensor type ');
interleave=[];for i=at+bt:ct-1interleave=[interleave,info(i)];end
interleave=strtrim(interleave);
fprintf('Lines=%i\nSamples=%i\nDataType=%s\n',lines,samples,interleave);
运行结果:
Lines=589
Samples=766
DataType=bsq
  1. 遥感图像数据读取与显示
    遥感图像大多数具有多波段,MATLAB中用于多波段图像读写的函数包括multibandread和multibandwtite。
%读取图像数据
imgfilename='F:\数字图像处理\Landsat8_image.dat';
fid=fopen(imgfilename,'r');
data=multibandread(imgfilename,[lines,samples,7],precision,0,'bsq','ieee-le');
data=double(data);
%数值转换为0-255的整型用于显示
data_unit8=data;
for k=1:bandsmin_val=min(data(:,:,k));max_val=max(data(:,:,k));for i=1:linesfor j=1:samplesdata_unit8(i,j,k)=uint8((data_unit8(i,j,k)-min_val)/(max_val-min_val)*255);endend
end
%单波段遥感图像显示
%数值转为0-255的整型用于显示
data_show=data;
for k=1:bandsmin_val=min(data(:,:,k));max_val=max(data(:,:,k));for i=1:linesfor j=1:samplesdata_show(i,j,k)=uint8((data_show(i,j,k)-min_val)/(max_val-min_val)*255);endend
end%单波段遥感图像显示im1=data_show(:,:,1);im2=data_show(:,:,2);im3=data_show(:,:,3);im4=data_show(:,:,4);im5=data_show(:,:,5);im6=data_show(:,:,6);im7=data_show(:,:,7);im1=uint8(im1);im2=uint8(im2);im3=uint8(im3);im4=uint8(im4);im5=uint8(im5);im6=uint8(im6);im7=uint8(im7);figure;imshow(im1);figure;imshow(im2);figure;imshow(im3);figure;imshow(im4);figure;imshow(im5);figure;imshow(im6);figure;imshow(im7);
%真彩色显示im3=data_show(:,:,1:3);im3=uint8(im3);figure;imshow(im3);%假彩色显示im3=data_show(:,:,4:6);im3=uint8(im3);figure;imshow(im3);





图一 遥感图像各波段显示
4. 遥感图像存储

%按照BIL存储类型存储所有波段multibandwrite(data,'data.bil','bil');%以存储32bit单波段为例numbands=1;for band=1:numbandsmultibandwrite(data(:,:,band),'banddata.bsq','bsq','machfmt','ieee-le','precision',interleave);end

五、实验心得

1.学会了使用multibandread和multibandwtite函数处理遥感影像。
2. 对遥感影像的头文件里的内容有了更加深入的了解。

数字图像处理:实验七 遥感图像读取相关推荐

  1. 数字图像处理实验七--图像压缩编码

    数字图像处理实验七 (图像压缩编码) 实验内容: 基于游程编码的图像压缩 基于离散余弦变换的图像压缩 实验步骤: 使用给定的图像lena做实验,采用im2bw把灰度图像转换为二值图像,试计算二值化时阈 ...

  2. Matlab数字图像处理 实验3、图像边缘检测的计算机实现

    子曰:桃李不言,下自成蹊. 图 像 边 缘 检 测 的 计 算 机 实 现 图像边缘检测的计算机实现 图像边缘检测的计算机实现 P a r t . 0 实 验 目 的 仅 限 于 学 习 交 流 Pa ...

  3. 数字图像处理 实验二:图像的平滑滤波

    基于Matlab的图像的平滑滤波 DIP实验2:图像的平滑滤波 实验目的 实验内容 参考代码 实验结果 DIP实验2:图像的平滑滤波 实验目的 平滑的目的是减少噪声对图像的影响.掌握线性滤波和中值滤波 ...

  4. 数字图像处理 实验四:图像的重建与复原

    实验环境:windows11   matlab2018b 实验有借鉴成分,注意!!! 一.实验目的: 1.了解图像降质/复原处理的模型. 2.了解估计降质函数的基本原理. 3.掌握降质图像中常见噪声模 ...

  5. 数字图像处理matlab实验对图像复原,数字图像处理实验07图像的复原处理

    数字图像处理实验 一.数字图像处理实验 实验七 图像的复原处理 一.实验目的 熟悉几种在实际应用中比较重要的图像复原技术,学会用MATLAB复原函数对退化图像进行复原处理. 二.实验内容 1.用点扩散 ...

  6. 图像处理边缘增强matlab,数字图像处理实验 matlab 图像增强 边缘检测 图像操作.doc...

    数字图像处理实验 matlab 图像增强 边缘检测 图像操作 实验1 点运算和直方图处理 实验目的 1. 掌握利用Matlab图像工具箱显示直方图的方法 2. 掌握运用点操作进行图像处理的基本原理. ...

  7. 【数字图像处理】七.MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化详解

    本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP图像增强处理,包括图像普通平滑.高斯 ...

  8. 数字图像处理实验四图像频域增强

    一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学的图像增强的理论知识和相关算法. (2)熟练掌握低通.高通.带通.同态滤波器的使用方法,明确不同性质的滤波器对图像的影响 ...

  9. 数字图像处理——实验一 Python中数字图像处理的基本操作

    数字图像处理--实验一 Python中数字图像处理的基本操作 一.实验目的 二.实验主要仪器设备 三.实验原理 3.1 数字图像的表示和类别 3.2 opencv-python图像文件格式 四.实验内 ...

  10. matlab图像处理基础实验,数字图像处理实验报告 Matlab图像处理基础

    <数字图像处理实验报告 Matlab图像处理基础>由会员分享,可在线阅读,更多相关<数字图像处理实验报告 Matlab图像处理基础(27页珍藏版)>请在人人文库网上搜索. 1. ...

最新文章

  1. ReactNative windows下打包生成安卓apk
  2. 调试一个c语言程序要经过,c语言程序调试
  3. RealNetworks CTO:我们追求低复杂度的软解码
  4. 自适应滤波:最小均方误差滤波器(LMS、NLMS)
  5. 机器学习——深度学习之编程工具、流行网络结构、卷积神经网络结构的应用
  6. Java多线程之龟兔赛跑和抢票
  7. python 局域网 主机名_使用python获取连接到本地网络(基于主机名)的所有设备的ip...
  8. 【转】!!c#文件系统操作类继承关系图
  9. 为什么读完博士反而逃离科研?中科院博导:因为我们的科研让人乏味!
  10. EIM正在迎来自己的春天
  11. 最近30分钟合约市场爆仓842万美元
  12. html中li整体变色,JS+CSS实现鼠标经过div(li)背景变色
  13. Hive建表语句的中文注释乱码问题
  14. 网页打印服务器无法创建对象,打印问题,小编教你怎么解决automation服务器不能创建对象...
  15. 关于在手机上注册Google账号
  16. tas5782m功率调试
  17. 结构体的定义以及使用
  18. 人生的,爱情,友情,亲情之间的关系!
  19. Win11系统怎么关闭hyper-v虚拟机?
  20. D3.js v5.0 旭日图

热门文章

  1. 菲氏微积分与Keisler微积分:两个不同时代的微积分教材
  2. 离散数学——自动生成真值表、主合取范式
  3. 键盘映射keybmap工具使用
  4. 短视频怎么才能做好内容付费?
  5. 基于jquery的web在线流程图设计器gooFlow
  6. JAVA虚拟机规范第八版与JAVA虚拟机规范第九版PDF资源分享
  7. Unity物体跟随鼠标移动
  8. GB-T2260-2020 <中华人民共和国县以上行政区划代码>
  9. 视频怎么转换html代码实现,音视频格式转换神器与html视频元素加字幕——零基础自学网页制作...
  10. 金格插件WebOffice2015使用体会