Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)

1 实验区域简介
1.1实验区地理位置

环翠区,隶属于山东威海市,是威海市的中心城区,是威海市的政治、经济、文化和科技中心。地处山东半岛最东边,三面环海,东与朝鲜半岛、日本列岛相望,属于胶东低山丘陵区,中部和东南高,西部和北部低,地山丘陵和平原低地相间分布,低丘陵区坡度较大,平原地区地势较平缓。
1.2实验所选影像介绍
本次实验数据使用的是从地理空间数据云下载的landsat8oli遥感影像数据,具体参数如表1所示。
表1 下载的影像参数数据

数据标识 条带号 行编号 中心经度 中心纬度 日期 云量
LC81190342018134LGN00 119 34 121.981 37.4743 20180514 4.65
数据标识 条带号 行编号 中心经度 中心纬度 日期 云量
LC81190342013136LGN01 119 34 121.9898 37.4747 20130516 0.04
经过辐射定标和大气校正威海市环翠区影像具体如图1所示:
Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第1张图片

2基于不同方法的影像融合
2.1数据介绍
本次实验数据使用的是从地理空间数据云下载的landsat8oli遥感影像数据,原始数据如图1和图2所示:
利用遥感图像处理软件ENVI,选择若干融合方法对Landsat8 OLI数据中的全色波段和多光谱波段进行融合,并对融合结果进行评价。

Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第2张图片
2.2 Brovey变换融合方法
2.21操作及结果
在ENVI工具箱中,选择Image Sharpening/Color Normalized(Brovey)Sharpening。结果如下:

Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第3张图片

2.22 融合结果评价

对RGB图像和高分辨率图像进行数据合成,从而使图像融合,即RGB图像中的每一个波段都乘以高分辨率数据与RGB图像波段总和的比值。然后用三次卷积技术奖3个RGB波段重采样到高分辨率像元尺寸。
由图1.3-1.6可以清晰地看出,在该方法变换之后,假彩色合成后的影像空间分辨率由30米变为15米。图像质量明显提高,地物的纹理特征变得明显,対地物的辨识度更高。但是,Brovey变换的方法不能同时对7个波段进行处理,有一定的波段限制。而且Brovey变换后的影像色调发生了很大变化。
2.3 Gram-Schmidt Pan Sharpening变换融合方法
2.31 操作及结果
在ENVI中的工具箱中,选择Image Sharpening/GS工具。结果如下:

Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第4张图片

2.32融合结果评价
GS处理后的影像分辨率有很大的提高,空间分辨率由30米变为15米,光谱信息也比较丰富,但颜色的匹配不是很理想,色彩提供的信息量较少。

2.4 NNDiffuse融合方法
2.41 操作及结果
在ENVI中的工具箱中,选择Image Sharpening/NNDiffuse pan Sharpening工具。结果如下:

Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第5张图片

2.42 融合结果评价
NNDiffuse融合方法对光谱信息的保持较好,该方法融合之后,空间分辨率由30米变为15米,同时该方法对7个波段进行融合,整体目视效果看,影响各类的色调更容易区分。

3水体专题信息提取

3.1 数据源

本次实验数据使用的是从地理空间数据云下载的landsat8oli遥感影像数据,具体参数如表1所示。
表1 下载的影像参数数据
数据标识 条带号 行编号 中心经度 中心纬度 日期 云量
LC81190342018134LGN00 119 34 121.981 37.4743 20180514 4.65

首先对影像进行辐射定标。采用envi5.3软件中Radiometric Calibration工具,选择多光谱波段进行辐射定标,然后进行大气校正,采用flash大气校正工具,设置一定的参数,最终大气校正和裁剪后的影像如图1和图2所示。

Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第6张图片

3.2水体提取

3.21水体指数
利用ENVI软件提供的band math工具,利用NDWI = (绿色波段-近红外波段)/(绿色+近红)这个公式,构建NDWI水体指数;

3.22阈值的确定

右键new region of interest,点击threshold,利用直方图选择阈值,经过多次对比实验,最终确定阈值选择-0.1,使用band math工具,使用“b1 gt -0.1”,提取出水体。其中NDWI如图3所示,最终提取的水体如图4所示。

Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第7张图片

图5为导出的矢量格式,并将“gridcode=0”的斑块去除,由于最终提取的水体为单波段,若想显示为多波段影像,则利用图5所示导出的矢量对影像进行裁剪,最终的结果如图6所示。

Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第8张图片

4关于水体和林业提取阈值的设定方法

4.1 专题信息提取
以土地覆盖信息提取为例,遥感图像专题信息提取是其研究的前提和基础,在综合分析当前主要的遥感信息提取方法基础上,将土地覆被专题信息提取方法归纳为目视解译、基于统计分析的图像分类、多源信息复合和基于对象的专题信息提取四大类。

4.2 水体专题信息提取
骆剑承等人在《DEM辅助下的河道细小线性水体自适应迭代提取》中提出一种河道细小线性水体自动识别方法。首先,利用全球30米ASTER DEM数据,生成流域的水系分布矢量图;然后,以DEM水系分布图作为先验知识,通过空间分析形成信息提取目标区,为后续信息提取提供目标靶区;再次,通过水体光谱指数计算和NDWI全局阈值分割,得到靶区水体分布的初步信息;最后,在水体指数全域分割的基础上,通过局部水体指数物理特征分析、自适应阈值选择和迭代计算,实现局部河道水体精确提取。试验采用ETM+数据对伊犁河上游的支流河道进行信息提取,结果表明,该方法能够快速准确地完成大流域范围内的河道水系制图,并能够最大限度地降低细小河道水体识别中背景光谱信息混杂的干扰,提高遥感信息提取的针对性和计算的效率。这里的阈值是通过经验以及迭代运算实现的,文中通过分步迭代,实现水体信息提取的逐步优化,达到最佳分割阈值的选择。局部自适应迭代水体算法流程见下图:

Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第9张图片

以扬州市明月湖为研究区,运用面向对象的思想,利用 eCongition 软件进行面向对象分类。首先利用 ESP 尺度分割工具确定影像的最优分割尺度,再建立基于 GF-2 影像的城市水体自动识别与提取知识库,提出了改进的区分水体和阴影的 ISTD 指数。该方法不仅可区分水体和阴影,还可识别水体和建筑物阴影重叠的区域。

Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第10张图片

4.3 林地提取

戴激光等人在《基于多源遥感数据的林地信息提取》中以曹家务乡为例,利用高分一号、资源一号和资源三号卫星数据之间的互补性,结合光谱特征、物候特征和植被指数等因子,通过面向对象算法的多尺度分割和阈值分类、模糊分类以及最邻近分类法,对林地信息进行提取。根据图像对象多方面的信息进行分类处理,建立分类层次,利用阈值分类,模糊分类和最邻近分类法根据两次分割结果对图像进行分类,在一级分割(尺度30)后进行第一次分类,采用最邻近分类法,选择训练样本,建立分类模板,将整幅影像分为三大类:水体、植被和其他;在第一次分类基础上,在植被层进行基于二级分割(尺度6)的第二次分类,将植被细分为小麦、作物和林地两类。随后,利用merge region命令进行同种地物类别对象的合并。总的来说,这篇论文是基于对象的方法,利用ecognition软件通过不断地实验并最终确定分割和分类阈值。

周佳宁等人《基于 MODIS 影像和随机森林算法的河北坝上林地动态监测》中使用随机森林算法,随机森林模型的具体实施是借助遥感影像处理软件包 ENVI/IDL 和 Weka 软件。首先,对 2005 年的 MODIS 数据集进行分类, 利用训练数据生成随机森林分类模型。然后, 通过检验数据, 对模型进行验证。模型验证方法采用遥感图像分类精度评价的标准方法, 即基于混淆矩阵计算得到的总体精度、用户精度、生产者精度以及评价分类方法的 Kappa 系数。一般认为 Kappa系数大于 0.7 即满足最低的判别精度要求 , 可用于后续的分析。将验证后的模型应用于其他 7 个时相的 MODIS数据集, 进行土地覆被分类, 提取每个时相的林地信息。经过反复试验, 在 Weka 软件中设定分类树的数目, 即 numTrees=100 时效果较佳。其他参数为默认值, 即 maxDepth=0, numFeatures=0, seed=1。

总的来说,不管是水体提取还是林地专题信息提取等其他专题信息提取,大部分是采用NDVI、NDWI或者自己构建其他一些指数,通过自适应阈值调整或者一系列迭代运算最终确定合适的阈值。

5应用所熟悉的语言完成遥感图像的读取和增强

5.1 图像读取代码
基于matlab
pathroad = ‘E:\master\master_homework\read_enhance’; %文件路径
pathroad1 = ‘E:\master\master_homework\read_enhance\new’;%处理后图像写入路径
filename = ‘sub_3_read_tif.tif’; %文件名字
I = imread(strcat(pathroad,filename)); %读取影像
figure(10);imshow(I);title(‘原始影像’);

读取jpg格式:
Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第11张图片
Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第12张图片
Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第13张图片

5.2 图像增强

5.21 图像增强方法-线性拉伸
PRO Linear_Stretch_Demo
;配置环境
COMPILE_OPT IDL2 & ENVI
;打开文件
FName = ’ E:\master\master_homework\read_enhance\ sub_3_read_tif.tif ’
ENVI_OPEN_DATA_FILE,FName,/TIFF, R_FID = fid
;查询图像头文件信息
ENVI_FILE_QUERY,fid,NB = nb,NL =nl,NS = ns
dims = [-1L,300,499,300,499];定义图像的空间维数
pos = [0];选择第6个波段进行对比度拉伸
;调用STRETCH_DOIT
FName_Sav = ENVI_PICKFILE(TITLE =‘保存Linear2%线性拉伸的结果’,/OUTPUT)
ENVI_DOIT,‘STRETCH_DOIT’,DIMS = dims,FID = fid,I_MAX = 98, I_MIN = 2, $
METHOD = 1,OUT_BNAME = bnames,OUT_NAME = FName_Sav, OUT_DT = 1,$
OUT_MAX = 255,OUT_MIN = 0,POS = pos,R_FID = r_fid, RANGE_BY = 0
;线性拉伸前的数据,即原始图像
DataPre = ENVI_GET_DATA(FID = fid,DIMS = dims,POS = pos)
;统计原始图像的直方图
pdfPre = HISTOGRAM(DataPre,LOCATIONS = xBinPre)
;STRETCH_DOIT线性拉伸后的图像
ENVI_FILE_QUERY,r_fid,DIMS = dims,NB = nb,NL = nl,NS = ns
DataDoit = ENVI_GET_DATA(FID = r_fid,DIMS = dims,POS = [0])
;统计STRETCH_DOIT线性拉伸后的图像的直方图
pdfDoit = HISTOGRAM(DataDoit,LOCATIONS = xBinDoit)

;调用BYTSCL
DataBYTSCL = BYTSCL(DataPre)
pdfBYTSCL = HISTOGRAM(DataBYTSCL,LOCATIONS = xBinBYTSCL)
;统计原始图像的累计直方图
cdfPre = TOTAL(pdfPre,/CUMULATIVE) / N_ELEMENTS(DataPre)

;显示线性拉伸前后的图像、对应的直方图
;1)
pImagePre = IMAGE(DataPre,/ORDER,LAYOUT=[2,3,1],DIMENSIONS=[2ns,3nl],$
TITLE = ‘线性拉伸前的图像’,FONT_SIZE = 8,MARGIN=[0.05,0.15,0.15,0.15]);/DEVICE
PImagePre.WINDOW_TITLE = ‘线性拉拉伸前后的图像对比’
pHistPre = PLOT(xBinPre,pdfPre,LAYOUT=[2,3,2] ,/CURRENT,$
XRANGE = [0,255],TITLE = ‘线性拉伸前的直方图’,FONT_SIZE = 8,$
XTITLE = ‘灰度值’,YTITLE = ‘频数’, MAX_VALUE = 5e3,AXIS_STYLE = 1,$
COLOR = ‘red’,MARGIN = [0.05,0.15,0.15,0.15])
;2)
pImageBYTSCL = IMAGE(DataBYTSCL,/ORDER,LAYOUT=[2,3,3],/CURRENT,$
TITLE = ‘BYTSCL线性拉伸后的图像’,FONT_SIZE = 8,MARGIN = [0.05,0.15,0.15,0.15])
pHistBYTSCL = PLOT(xBinBYTSCL,pdfBYTSCL,LAYOUT=[2,3,4],/CURRENT,$
XRANGE = [0,255], TITLE = ‘BYTSCL线性拉伸后的直方图’,FONT_SIZE = 8,$
XTITLE = ‘灰度值’,YTITLE = ‘频数’, MAX_VALUE = 5e3,AXIS_STYLE = 1,$
COLOR = ‘red’,MARGIN = [0.05,0.15,0.05,0.15])
;3)
pImageDoit = IMAGE(DataDoit,/ORDER,LAYOUT=[2,3,5],/CURRENT,$
TITLE = ‘STRETCH_DOIT线性拉伸后的图像’,FONT_SIZE = 8,$
MARGIN = [0.05,0.15,0.15,0.15])
pHistDoit = PLOT(xBinDoit,pdfDoit,LAYOUT=[2,3,6],/CURRENT,$
XRANGE = [0,255], TITLE = ‘STRETCH_DOIT线性拉伸后的直方图’,FONT_SIZE = 8,$
XTITLE = ‘灰度值’,YTITLE = ‘频数’, MAX_VALUE = 5e3,AXIS_STYLE = 1,$
COLOR = ‘red’,MARGIN = [0.05,0.15,0.05,0.15])
END
运行结果:
Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第14张图片
Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第15张图片

5.22 图像增强方法2-均值滤波

PRO MEDIAN_DEMO
;定义输入图像文件名
FName = ’ E:\master\master_homework\read_enhance \ sub_3_read_tif.tif ’
;读取输入图像
IOPEN,FName,DataIn
;READ_TIF,FName,DataIn
;获取图像维数
Dims = SIZE(DataIn,/DIMENSIONS)
;对图像进行加噪
DataIn_Noisy = NOISE_HURL(DataIn,0.05);NOISE_SLUR/NOISE_SCATTER
;对图像进进行均值滤波处理
;定义均值滤波器
Kernel = [$
[0,0,1,0,0],$
[0,1,1,1,0],$
[1,1,1,1,1],$
[0,1,1,1,0],$
[0,0,1,0,0]]
;调用CONVOL函数进行卷积运算
DataOut = CONVOL(DataIn_Noisy,Kernel,/NORMALIZE,$
CENTER = FLOOR(FLOAT(N_ELEMENTS(Kernel))/2.0))
;对加噪后的图像进行均值滤波
DataOut = SMOOTH(DataIn_Noisy,3)
;并排显示图像
;1)加噪前的图像
IIMAGE,DataIn,VIEW_GRID = [3,1],DIMENSION = [3*Dims[0],Dims[1]],$
WINDOW_TITLE = ‘Demo of Median Filtering’,/NO_SAVEPROMPT;VIEW_TITLE =
;2)加噪后的图像
IIMAGE,DataIn_Noisy,/VIEW_NEXT
;3)均值滤波处理后的图像
IIMAGE,DataOut,/VIEW_NEXT
END
运行结果:Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第16张图片
Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第17张图片

6 Landsat oli影像各波段的相关系数分析

6.1 计算相关系数代码:
pro Correlation
ENVI, /restore_base_save_files
envi_batch_init
fn=‘E:\master\master_homework\rs_homework\cyj\huancuiqu\18_hcq.tif’
envi_open_file,fn,r_fid=fid
envi_file_query,fid,ns=ns,nl=nl,nb=nb,dims=dims
data=make_array(ns,nl,nb,type=data_type)
for i=0,nb-1 do data[,,i]=envi_get_data(fid=fid,dims=dims,pos=i)
cor_array=fltarr(nb,nb)
for i=0, nb-1 do begin
for j=0, nb-1 do begin
cor_array[i,j]=correlate(data[,,i],data[,,j])
endfor
endfor
txtfile=‘E:\master\master_homework\read_enhance\new\correlate.txt’
OPENW,lun,txtfile,/get_lun
PRINTF,lun,cor_array
FREE_LUN,lun
End
6.2结果:
Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第18张图片
相关系数分析:
第一个波段和其它波段的相关系数最低,表现出第一个波段和其他波段相比,图像中信息的重叠程度最低。
ENVI软件中计算结果如下
Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第19张图片

通过以上计算发现,代码运行结果与ENVI中计算结果基本一致,通常情况下,我们认为:(1)、当相关系数为0时,X和Y两变量无关系。(2)、当X的值增大(减小),Y值增大(减小),两个变量为正相关,相关系数在0.00与1.00之间。(3)、当X的值增大(减小),Y值减小(增大),两个变量为负相关,相关系数在-1.00与0.00之间。相关系数的绝对值越大,相关性越强,相关系数越接近于1或-1,相关度越强,相关系数越接近于0,相关度越弱。通常情况下通过以下取值范围判断变量的相关强度:相关系数0.8-1.0极强相关,0.6-0.8强相关,0.4-0.6中等程度相关,0.2-0.4弱相关,0.0-0.2极弱相关或无相关。
通过以上分析,各个波段之间都具有一定相关,第一波段和其他波段的相关性普遍较低,第二波段和第五波段波段相关性在0.8左右,相关性较低,3、4、7波段和第5波段的相关性也较低,即第5波段只和第6波段相关性较高。越相邻相关性一般越强,波段相邻越远相关性越弱。

**

7各个波段之间的信息熵

7.1计算各个波段信息熵代码:

**
pro entropy
ENVI, /restore_base_save_files
envi_batch_init
fn=dialog_pickfile(title=‘打开一个文件’)
envi_open_file,fn,r_fid=fid
envi_file_query,fid,ns=ns,nl=nl,nb=nb,dims=dims
data=make_array(ns,nl,nb,type=data_type)
;
pos=LINDGEN(nb)
for i=0,nb-1 do begin
data=ENVI_GET_DATA(/COMPLEX, DIMS=dims, FID=FID , INTERP=INTERP, POS=i)
DNmax=max(data)
DNmin=min(data)
p_temp=make_array(DNmax)
for j=DNmin,DNmax-1 do begin
index=where(data eq j,count)
p=count/float(nsnl)
p_temp[j]=p
alog2(p+0.000000001)
endfor
result=-total(p_temp)
txtfile=‘C:\Users\Administrator\Desktop\result\entropy.txt’
OPENW,lun,txtfile,/get_lun,/append
PRINTF,lun,‘entropy:’,result
FREE_LUN,lun
endfor
end
7.2 信息熵计算结果:
Landat8 图像融合、波段相关系数、信息熵和图像处理代码实验(实验报告形式)_第20张图片

你可能感兴趣的:(遥感,图像处理,波段相关系数计算,林业提取,ENVI5.3,信息熵)