遥感图像处理实验docx
哈尔滨工业大学
遥感图像处理及遥感系统仿真
实验报告
项目名称:《遥感图像处理及遥感系统仿真创新》 姓名:蒋国韬 学号: 1140540124 院系:电子与信息工程学院 专业:遥感科学与技术 指导教师:胡悦
时间: 2017年 7月
实验一:遥感数字图像的增强
一、实验目的:
利用一幅城市多光谱遥感图像,分析其直方图,并利用对比度增强和去相关拉伸方法对遥感图像进行增强。 二、实验过程:
1. 用multibandread 语句读取一幅多光谱遥感图像rs_paris.lan(7波段,512x512
图像)的可见1,2,3波段(分别对应R ,G ,B 层); 2. 显示真彩色图像;
3. 通过研究直方图(imhist ),分析直接显示的真彩色图像效果差的原因;
4. 利用对比度增强方法对真彩色图像进行增强(imadjust,stretchlim ); 5. 画出对比度增强后的图像红色波段的直方图;
6. 利用Decorrelation 去相关拉伸方法(decorrstretch )对图像进行增强;
7. 显示两种图像增强方法的结果图像。
三、实验分析:
(1)高光谱影像由于含有近百个波段,用matlab 自带的图像读写函数imread 和imwrite 往往不能直接操作,利用matlab 函数库中的multibandred 函数,可以读取多波段二进制图像。512×512为像素点,7位波段数,bil 为图像数组的保存格式,uint8=>uint8为转换到matlab 的格式,[3 2 1]的波段分别对应RGB 三种颜色。
(2)直接观察真彩复合图像发现,图像的对比度非常低,色彩不均匀。通过观察红绿蓝三色的波段直方图,可以观察到数据集中到很小的一段可用动态范围内,这是真彩色复合图像显得阴暗的原因之一。另外,根据三种颜色的三维散点图,如下
可知红、绿、蓝三维散点的明显线性趋势显示出可见波段数据的高度相关性,于是未增强的真彩色图像显示的像单色图像。
(3)图像经过对比度增强后,进行直方图检测发现数据被扩展到更大范围内的可用动态范围。地表特征变得较为容易识别。
(4)图像经过去相关拉伸后,由下图的三色散点图容易看出,此时波段数据已经没有了高度的相关性。经过线性对比度扩展和去相关,图像的地表特征可识别度得到了很大提高,画面中不同波段的不同被夸大了。
四、实验程序:
clear all; clc;
Paris_img=multibandread('paris.lan',[512,512,7],'uint8=>uint8',128','bil','ieee-le',{'Band','Direct',[3 2 1]}); figure(1);imshow(Paris_img);
r=Paris_img(:,:,3);g=Paris_img(:,:,2);b=Paris_img(:,:,1); figure(2);
subplot(311);imhist(r);title('红色波段直方图'); subplot(312);imhist(g);title('绿色波段直方图'); subplot(313);imhist(b);title('蓝色波段直方图'); figure(3);
plot3(r(:),g(:),b(:),'.');
Stretch_img=imadjust(Paris_img,stretchlim(Paris_img)); figure(4);
subplot(211);imshow(Stretch_img); subplot(212);imhist(Paris_img(:,:,3));
Decorrstretch_img=decorrstretch(Paris_img,'Tol',0.01); figure(5);imshow(Decorrstretch_img);
rd=Decorrstretch_img(:,:,3);gd=Decorrstretch_img(:,:,2);bd=Decorrstre
tch_img(:,:,1); figure(6);
subplot(311);imhist(rd); subplot(312);imhist(gd); subplot(313);imhist(bd); figure(7);
plot3(rd(:),gd(:),bd(:),'.');
实验二:遥感图像的配准
一、实验目的:
利用一幅未配准的机场图像和一幅同样场景正摄影获得的图像进行配准。 二、实验过程:
1. 读取‘机场.png ’和‘正摄影.png ’两幅未配准图像(imread );
2. 加载‘配准点.mat ’文件,其中包含四组控制配准点; 3. 用fitgeotrans 语句找到配准参数;
4. 利用找到的配准参数将未配准的图像进行几何校正(imref2d,imwarp ); 5. 显示正摄影图像为基础的配准后的图像(imshowpair )。
三、实验分析:
(1)寻找配准参数的函数fitgeotrans ,由配准点得到movingPoints 和fixedPoints ,movingPoints 是图像上想要移动的点的坐标,至少是两个double 型2维点,fixedPoints 为目标点,与movingPoints 规模相同,transformationType 为变换类型,包括仿射变换、投影变化、相似变换等,这个函数主要描述了将movingPoints (设大小为:N*2,N>=2)通过某种变换变化到fixedPoints 来,最后输出了变换矩阵。得到的fun_para是一个结构体类型,里面包含了变换矩阵。
(2)要求参加配准的图像满足一定灰度相似性,所以原图像对噪声较敏感,在配准后避免了直接对灰度图像的操作,所以抗噪性较强。
四、实验程序:
clear all;
airport=imread('机场.png');
figure(1);imshow(airport);
right=imread('正摄影.png');
figure(2);imshow(right);
load 配准点.mat;
fun_para=fitgeotrans(movingPoints,fixedPoints,'projective');
fixed_size=imref2d(size(right));
pic_reg=imwarp(airport,fun_para,fixed_size);
figure(3);imshowpair(airport,pic_reg,'blend');
实验三:遥感图像的分割
一、实验目的:
利用一幅城市多光谱遥感图像,研究其NDVI 值的特点,并利用NDVI 阈值处理对图像进行分割,获得植被图像。
二、实验过程:
1. 用multibandread 语句读取一幅多光谱遥感图像rs_paris.lan(7波段,512x512
图像)的可见4,3,2波段(分别对应NIR ,R ,G 层);
2. 显示假彩色图像;
3. 显示近红外和红光波段的图像;
4. 计算NDVI 值:NIR -R ; NIR +R
5. 选取合适阈值分割植被图像;
6. 显示分割后的植被图像。
三、实验分析:
(1)近红外(NIR )光谱波段(波段4)和可见光谱的相关性相对较小。和可见光谱一样,卫星地图得到的不可见光谱的信息也可以通过构建和增强RGB 复合图像以后直接观察。近红外NIR 波段(波段4)很重要,因为该波段在光谱中对叶绿素反射率较高,利用NIR 波段可以很好地区分出图像中的植被。当和可见光和绿光(分别是波段3和波段2)进行复合形成一个彩色红外复合图像(CIR )时,这一特点比较有用。彩色红外复合图像通常用来识别植被或评定植被的生长情况。
(2)第一次阈值选取时,没有将原始像素的数据格式转为double ,由于近红外和红色波段的相关性存在,导致出现NIR 与R 某些像素相等的情况,NDVI=(近红外波段辐射率-红外辐射率)/(近红外辐射率+红外波段辐射率)求出来为0或者1,得到的分割图像如下:
这样分割的效果并不明显,于是将近红外和红色波段的数据格式改为了double ,让NDVI 求出的数值有小数而不是0或1,再选取合适的阈值(这里选择了0.01),得到最后分割后的植被图像。
四、实验程序:
clear all;
clc;
Paris_img=multibandread('paris.lan',[512,512,7],'uint8=>uint8',128','bil','ieee-le',{'Band','Direct',[4 3 2]});
figure(1);imshow(Paris_img);
NIR=multibandread('paris.lan',[512,512,7],'uint8=>uint8',128','bil','ieee-le',{'Band','Direct',[4]}); R=Paris_img(:,:,3);G=Paris_img(:,:,2);
figure(2);
subplot(311);imhist(NIR);title('近红外波段直方图
');
subplot(312);imhist(R);title('红色波段直方图');
subplot(313);imhist(G);title('绿色波段直方图');
figure(3);
subplot(211);imshow(NIR);title('近红外波段图像');
subplot(212);imshow(R);title('红色色波段图像');
NIR_double=im2double(NIR);
R_double=im2double(R);
NDVI=(NIR_double-R_double)./(NIR_double+R_double);
N=size(NDVI);
fori=1:N
for j=1:N
if NDVI(i,j)
t(i,j)=1;
end
end
end
figure(4);imshow(t);
实验四:遥感图像特征提取
一、实验目的:
利用一幅道路遥感图像,提取其颜色特征,并利用颜色特征提取方法对图像进行分割,获得道路提取图像。
二、实验过程:
1. 读取道路图像road.jpg ;
2. 利用makecform 和applycfor 语句获得图像的lab 颜色模型;
3. 分析道路像素特点;
4. 找到合适阈值并对图像进行分割;
5. 利用形态学方法进一步提取道路信息;
6. 得到道路提取图像,并进行显示
三、实验分析:
(1)LAB 模式的特点在于灰度信息和色彩信息的分别保存。Lab 模式是由国际照明委员会(CIE )于1976年公布的一种色彩模式。RGB 模式是一种发光屏幕的加色模式,CMYK 模式是一种颜色反光的印刷减色模式。而Lab 模式既不依赖光线,也不依赖于颜料,它是CIE 组织确定的一个理论上包括了人眼可以看见的所有色彩的色彩模式。Lab 模式弥补了RGB 和CMYK 两种色彩模式的不足。Lab 模式由三个通道组成,但不是R 、G 、B 通道。它的一个通道是亮度,即L 。另外两个是色彩通道,用A 和B 来表示。A 通道包括的颜色是从深绿色(底亮度值)到灰色(中亮度值)再到亮粉红色(高亮度值);B 通道则是从亮蓝色(底亮度值)到灰色(中亮度值)再到黄色(高亮度值)。因此,这种色彩混合后将产生明亮的色彩。Lab 模式所定义的色彩最多,且与光线及设备无关并且处理速度与RGB 模式同样快,比CMYK 模式快很多。因此,可以放心大胆的在图象编辑中使用Lab 模式。而且,Lab 模式在转换成CMYK 模式时色彩没有丢失或被替换。因此,最佳避免色彩损失的方法是:应用Lab 模式编辑图象,再转换为CMYK 模式打印输出。当你将RGB 模式转换成CMYK
模
式时,Photoshop 将自动将RGB 模式转换为Lab 模式,再转换为CMYK 模式。在表达色彩范围上,处于第一位的是Lab 模式,第二位的是RGB 模式,第三位是CMYK 模式。要注意 LAB 模式在PHOTOSHOP 中很多功能都不能用 Lab 模式的好处在于它弥补了前面两种色彩模式的不足。RGB 在蓝色与绿色之间的过渡色太多,绿色与红色之间的过渡色又太少,CMYK 模式在编辑处理图片的过程中损失的色彩则更多,而Lab 模式在这些方面都有所补偿。Lab 模式与RGB 模式相似,色彩的混合将产生更亮的色彩。只有亮度通道的值才影响色彩的明暗变化。可以将Lab 模式看作是两个通道的RGB 模式加一个亮度通道的模式。Lab 模式是与设备无关的,可以用这一模式编辑处理任何一个图片(包括灰图图片),并且与RGB 模式同样快,比CMYK 模式则快好几倍。Lab 模式可以保证在进行色彩模式转换时CMYK 范围内的色彩没有损失。如果将RGB 模式图片转换成CMYK 模式时,在操作步骤上应加上一个中间步骤,即先转换成Lab 模式。在非彩色报纸的排版过程中,应用Lab 模式将图片转换成灰度图是经常用到的。
(2)将LAB 模式转换为可以进行形态学处理的二值图像需要选取合适的阈值,在此次实验中我选择grayshresh 函数求出图像的阈值,graythresh (image )函数输入是一幅图像,在我做的图像的变化检测方向就是输入差异图(两幅图像对应位置做差或者做比,或者做对数比),输出就是阈值。在这个函数中,是使用最大类间方差法(即最优全局阈值法OTSU )找到图片的一个合适的阈值(threshold )。它是按图像的灰度特性, 将图像分成背景和目标2部分。背景和目标之间的类间方差越大, 说明构成图像的2部分的差别越大, 当部分目标错分为背景或部分背景错分为目标都会导致2部分差别变小。因此, 使类间方差最大的分割意味着错分概率最小。再利用im2bw (将灰度图像转换为二值图像)函数,将找到的阈值输入,就可以把原图变为一个二值图像。
(3)bwareaopen 函数的作用:删除二值图像BW 中面积小于P 的对象,默认情况下使用8邻域,用来做第一步去噪声。之后分别进行了一次膨胀操作和闭操作。膨胀操作和腐蚀操作是形态学两种基本处理方法之一,腐蚀可以分割(isolate)独立的图像元素,膨胀用于连接(join)相邻的元素,这是腐蚀和膨胀后图像最直观的理解。由于高分辨率图像色彩灰度等都更为复杂,直接利用阈值区间转化为的二值图像仍然有很大误差,首先我们要利用图像的膨胀,进行断点的连接,这样能更好地突出道路的地物特点,显得更加直观。另外,利用图像的腐蚀和膨胀,能完成形态学方法中常见的开操作和闭操作。开操作可以平滑物体的轮廓,断开较窄的狭颈并消除细的突出物,结构单元对集合腐蚀,再用结构单元对结果膨胀;闭操作可以平滑轮廓的一部分,但与开操作相反,它通常会弥合较窄的间断和细长的沟壑,消除小的孔洞,填补轮廓线中的断裂,先膨胀后腐蚀。
四、实验程序:
clear all;
clc;
road=imread('road.jpg'); imshow(road);
cform=makecform('srgb2lab'); lab=applycform(road,cform); l_x=lab(:,:,1);
a_x=lab(:,:,2);
b_x=lab(:,:,3);
figure(2);
subplot(131);imshow(l_x); subplot(132);imshow(a_x); subplot(133);imshow(b_x); figure(3);
level=graythresh(b_x); t=im2bw(b_x,level); imshow(t);
t=bwareaopen(t,400); se=strel('disk',4);
t1=imdilate(t, se);
figure(4);imshow(t1); t2=imclose(t1,se); figure(5);imshow(t2);