资源描述:
《基于matlab软件的图像空间域增强实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于matIab软件的图像空间域增强实验—・实验内容:木次试验利用matlab软件进行图像空间域滤波增强实验,利用matlab对图像进行处理,进而掌握matlab软件处理图像的基木功能,加强对图像空间域增强知识的理解与认识。二.实验目的:(1)掌握学会利用fspecial(type)函数定义二维滤波,学会定义robertsprewitt>sobel三种基本的一•阶梯度、定义Kirsch方向梯度、定义二阶的拉普拉斯算子以及高斯拉普拉斯(LOG)(2)学会函数imfilter(A,H)的运用(3)学会在matlab软件里检查核对并保存图像三.实验步骤:1建立图像滤波増强工作目录建立工作目
2、录:spatialF子目录:/data/code建立图像滤波增强matlab处理的主函数spatialFiIterdemo,m2读取图像1.读取图像①读取一•燉图像Matlab的IPT提供函数imread来实现图像文件的读取操作。其语法格式非常简洁,基本的用法为:A二imread(f订ename,fmt)[…]=imread(filename)[・・・]=imread(...,idx)只适用tiff格式。其中参数fmt扌旨定图像的格式,如'bmp','jpg','tiff','png'等,图像格式也可以和文件名写在一起,比如afilename,fmt”。imread也可以读取多帧TI
3、FF文件中的一帧,idx为1个整数,表示图像的帧号。②读取多光谱图像Matlab的IPT提供苗数multibandread来实现多波段图像文件的读取操作,在读取数据Z前需要确定以下信息:文件名,行、列、波段数,文件记录格式,文件中的头信息长度,数据类型等。具体格式为:X=multibandread(filename,size,precision,offset,interleave,byteorder)X=multibandrcad(・・•,subsctl,subset2,subset3)其中size是行、列、波段数组成的数组,如[100,100,7]表示图像大小为100x100,波段
4、数为7的多波段图像,precision是数据类型,如'uint8',"double','single'等,与fread的数据类型一样,它也可以同时定义输出数据的类型,如,uint8=>uint8,(或’*uint8,)表示读入的为uint8,输出也为uint8,'uint8=>double表示读入的为uint8,输酗double类型oInterleave对应于遥感图像的记录格式bsq,b订,和bip。其它参数可定义输出数据的范围,如图像和波段范围。如>>iml=multibandroad(filename,[rowscolsbands],"double',0,'bsq',1ieee-
5、le",{'Band','Range',[12bands]})表示读取图像大小为rows*cols*bands,double数据类型,bsq格式的多光谱数据,并且读取的波段仅为从第一波段开始,以间隔2波段逐个取出.>>im2=multibandread(filensine,[rowscolsbands],'double',0,'bip',Jieee-le",{'Row','Range',[150]},{'Column','Range',[150]},{'Band','Range',[12bands]})表示读取图像大小为rows*cols*bands,double数据类型,bip格式
6、的多光谱数据,并且读取的波段第一波段和第二波段,图像范围的左上角为(1,1),右下角为(50,50)。详细用法参照matlab帮助文档。2定义空域滤波掌握利用fspecial(type)函数定义二维滤波,要求定义robert^prewitt>sobel三种基本的一阶梯度,定义Kirsch方向梯度;定义二阶的拉普拉斯算子,以及高斯拉普拉斯(LOG)Robert-1000-101Wr=100000■■PrewittKirsch的8个方向滤波拉普拉斯算子010-4-11010fspecialcreatesLaplacianfiltersusinga41-a4a41-aa47_]1一°41-
7、aa~4~4注意laplacian的参数alpha只能介于0〜1LOGfspecialcreatesLaplacianofGaussian(LoG)filtersusing+空—)人(几i,几2)加兀1)=2加工工如nin2注意LOG的两个参数:hsize,sigma:hsize=cei1(sigma*3)*2+1.3图像的空域滤波处理掌握函数imfilter(A,H)的运用,H为滤波函数。例:Ix=imfilter(1,hgradx,'replicate