数字图像处理:实验七 遥感图像读取
实验七 遥感图像读取
一、实验目的
- 熟悉MATLAB中遥感图像读写的格式;
- 掌握多波段遥感图像的读取与存储;
- 掌握多波段遥感图像中单波段、不同波段的组合显示。
二、实验仪器及设备
计算机、Matlab图像处理软件、Landsat8遥感图像
三、实验基础
1.实验遥感图像简介
2013年2月11日Landsat8卫星成功发射,设计寿命为五年,星上携带两个主要设备,陆地成像仪和热红外传感器。陆地成像仪共11个波段,其中可见光,近红外,短波红外波段空间分辨率为30米,热红外波段空间分辨率为100米,全色波段分辨率为15米,成像宽幅185kmx185km。陆地成像仪包括ETEM+传感器的所有波段,但为了避免大气吸收特征,对波段进行了重新调整,比较大的调整是band5,排除了0.825um处水汽吸收特征,全做波段band8范围较窄,可以在全色图像上更好地区分植被和无植被特征,此外还增强了两个波段蓝色波段,主要应用于海岸带观测短波红外波段。包括水汽强吸收特征,可用于云检测,近红外和短波红外波段与modest对应的波段接近。
2.相关函数
MATLAB中用于多波段图像读写的函数包括multibandread和multibandwtite。
四、实验内容及步骤
- 遥感图像头文件读取
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
- 遥感图像基本信息读取
%读取列数、行数、波段数、数据类型%列数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
- 遥感图像数据读取与显示
遥感图像大多数具有多波段,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. 对遥感影像的头文件里的内容有了更加深入的了解。
数字图像处理:实验七 遥感图像读取相关推荐
- 数字图像处理实验七--图像压缩编码
数字图像处理实验七 (图像压缩编码) 实验内容: 基于游程编码的图像压缩 基于离散余弦变换的图像压缩 实验步骤: 使用给定的图像lena做实验,采用im2bw把灰度图像转换为二值图像,试计算二值化时阈 ...
- Matlab数字图像处理 实验3、图像边缘检测的计算机实现
子曰:桃李不言,下自成蹊. 图 像 边 缘 检 测 的 计 算 机 实 现 图像边缘检测的计算机实现 图像边缘检测的计算机实现 P a r t . 0 实 验 目 的 仅 限 于 学 习 交 流 Pa ...
- 数字图像处理 实验二:图像的平滑滤波
基于Matlab的图像的平滑滤波 DIP实验2:图像的平滑滤波 实验目的 实验内容 参考代码 实验结果 DIP实验2:图像的平滑滤波 实验目的 平滑的目的是减少噪声对图像的影响.掌握线性滤波和中值滤波 ...
- 数字图像处理 实验四:图像的重建与复原
实验环境:windows11 matlab2018b 实验有借鉴成分,注意!!! 一.实验目的: 1.了解图像降质/复原处理的模型. 2.了解估计降质函数的基本原理. 3.掌握降质图像中常见噪声模 ...
- 数字图像处理matlab实验对图像复原,数字图像处理实验07图像的复原处理
数字图像处理实验 一.数字图像处理实验 实验七 图像的复原处理 一.实验目的 熟悉几种在实际应用中比较重要的图像复原技术,学会用MATLAB复原函数对退化图像进行复原处理. 二.实验内容 1.用点扩散 ...
- 图像处理边缘增强matlab,数字图像处理实验 matlab 图像增强 边缘检测 图像操作.doc...
数字图像处理实验 matlab 图像增强 边缘检测 图像操作 实验1 点运算和直方图处理 实验目的 1. 掌握利用Matlab图像工具箱显示直方图的方法 2. 掌握运用点操作进行图像处理的基本原理. ...
- 【数字图像处理】七.MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化详解
本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP图像增强处理,包括图像普通平滑.高斯 ...
- 数字图像处理实验四图像频域增强
一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学的图像增强的理论知识和相关算法. (2)熟练掌握低通.高通.带通.同态滤波器的使用方法,明确不同性质的滤波器对图像的影响 ...
- 数字图像处理——实验一 Python中数字图像处理的基本操作
数字图像处理--实验一 Python中数字图像处理的基本操作 一.实验目的 二.实验主要仪器设备 三.实验原理 3.1 数字图像的表示和类别 3.2 opencv-python图像文件格式 四.实验内 ...
- matlab图像处理基础实验,数字图像处理实验报告 Matlab图像处理基础
<数字图像处理实验报告 Matlab图像处理基础>由会员分享,可在线阅读,更多相关<数字图像处理实验报告 Matlab图像处理基础(27页珍藏版)>请在人人文库网上搜索. 1. ...
最新文章
- ReactNative windows下打包生成安卓apk
- 调试一个c语言程序要经过,c语言程序调试
- RealNetworks CTO:我们追求低复杂度的软解码
- 自适应滤波:最小均方误差滤波器(LMS、NLMS)
- 机器学习——深度学习之编程工具、流行网络结构、卷积神经网络结构的应用
- Java多线程之龟兔赛跑和抢票
- python 局域网 主机名_使用python获取连接到本地网络(基于主机名)的所有设备的ip...
- 【转】!!c#文件系统操作类继承关系图
- 为什么读完博士反而逃离科研?中科院博导:因为我们的科研让人乏味!
- EIM正在迎来自己的春天
- 最近30分钟合约市场爆仓842万美元
- html中li整体变色,JS+CSS实现鼠标经过div(li)背景变色
- Hive建表语句的中文注释乱码问题
- 网页打印服务器无法创建对象,打印问题,小编教你怎么解决automation服务器不能创建对象...
- 关于在手机上注册Google账号
- tas5782m功率调试
- 结构体的定义以及使用
- 人生的,爱情,友情,亲情之间的关系!
- Win11系统怎么关闭hyper-v虚拟机?
- D3.js v5.0 旭日图