matlab遥感图像处理
基于Matlab的遥感数据处理与图像分析技术研究

基于Matlab的遥感数据处理与图像分析技术研究遥感技术是一种通过传感器获取地面、大气和水体等目标信息的技术,广泛应用于农业、林业、地质勘探、城市规划等领域。
而Matlab作为一种功能强大的科学计算软件,被广泛应用于遥感数据处理和图像分析中。
本文将探讨基于Matlab的遥感数据处理与图像分析技术研究。
1. 遥感数据处理遥感数据处理是指对通过遥感传感器获取的数据进行预处理、特征提取和信息提取的过程。
在Matlab中,可以利用各种工具箱和函数对遥感数据进行处理,包括但不限于:数据读取与显示:Matlab提供了丰富的函数用于读取各种格式的遥感数据,并可以通过图像显示函数展示数据。
数据预处理:包括去噪、辐射校正、几何校正等预处理步骤,可以有效提高后续分析的准确性。
特征提取:利用Matlab中的图像处理工具箱,可以提取各种地物特征,如植被指数、土地覆盖类型等。
分类与识别:通过机器学习算法,在Matlab环境下进行遥感影像分类与目标识别,实现自动化信息提取。
2. 图像分析技术图像分析技术是指对图像进行数字化处理和分析,从中获取有用信息的过程。
在遥感领域,图像分析技术可以帮助解译遥感影像,提取地物信息,进行环境监测等。
在Matlab中,可以结合图像处理工具箱和深度学习工具箱进行图像分析,包括但不限于:图像增强:通过直方图均衡化、滤波等方法增强遥感影像的对比度和清晰度。
目标检测:利用目标检测算法,在遥感影像中自动识别并标记出目标物体。
变化检测:通过对多时相遥感影像进行比对分析,检测地表变化情况,如城市扩张、植被覆盖变化等。
三维重建:基于多角度或多时相影像,使用立体视觉技术实现地形三维重建。
3. Matlab在遥感领域的应用案例3.1 遥感影像分类利用Matlab中的支持向量机(SVM)算法对高光谱遥感影像进行分类,实现土地覆盖类型的自动识别。
通过构建合适的特征空间和选择适当的核函数,提高分类精度和效率。
3.2 遥感变化检测结合Matlab中的差异图像分析方法和变化检测算法,对城市扩张、湖泊面积变化等进行监测与分析。
Matlab中的遥感图像处理与分析方法

Matlab中的遥感图像处理与分析方法遥感图像处理与分析是遥感技术的重要组成部分,它包括对获取的遥感图像进行预处理、增强、分类、信息提取等一系列操作。
Matlab作为一种强大的科学计算软件,提供了丰富的工具箱和函数,广泛应用于遥感图像处理与分析领域。
本文将介绍Matlab中一些常用的遥感图像处理与分析方法,并探讨其在实际应用中的价值。
一、遥感图像的读取与显示在进行遥感图像处理与分析之前,首先需要将遥感图像读取到Matlab中。
Matlab提供了多种读取图像的函数,如imread、multibandread等。
通过这些函数,可以将遥感图像以矩阵的形式存储在Matlab的变量中,方便后续的处理。
读取遥感图像后,我们可以使用imshow函数在Matlab中显示图像。
通过调整imshow函数的参数,可以实现对图像的缩放、亮度、对比度等的调整。
此外,Matlab还提供了imtool函数,可以在一个窗口中同时显示多幅图像,方便进行比较和分析。
二、遥感图像的预处理遥感图像的预处理是遥感图像处理与分析的重要步骤之一。
预处理的目的是消除图像中的噪声、增强图像的对比度、调整图像的亮度等,为后续的处理提供更好的数据基础。
在Matlab中,可以使用多种函数实现遥感图像的预处理。
例如,imadjust函数可以调整图像的亮度和对比度,imnoise函数可以在图像中添加噪声,medfilt2函数可以进行中值滤波,去除图像中的椒盐噪声等。
此外,Matlab还提供了一些专门用于遥感图像处理的工具箱,如Image Processing Toolbox、Computer Vision Toolbox等,这些工具箱提供了丰富的函数和工具,便于进行图像的预处理操作。
三、遥感图像的增强与融合遥感图像的增强与融合是遥感图像处理与分析的重要任务之一。
增强可以使图像中的细节更加清晰,对于提取图像中的信息非常有帮助。
融合可以将来自不同传感器或不同时刻的遥感图像融合在一起,得到更全面的信息。
基于matlab的遥感图像处理程序

基于matlab的遥感图像处理程序报告南京理工大学电光学院,无履仙人一、程序简介基于matlab的GUI可视化遥感图像处理程序,界面布局如下图:菜单栏包括:文件,图像旋转,自动识别有效区域,获取有效区域,压缩,图像增强,伪彩色图像,还原重做,退出,关于等项。
主界面部分包含两个图像显示,和部分按钮及需要输入的参数。
由于界面大小有限,部分功能留在菜单栏中。
二、处理步骤及部分源码1、打开和保存文件首先是文件菜单,包含打开和保存,打开的文件将显示在原始图像和处理图像两部分中,在处理过程中,原始图像不变,以作为和处理图像对比,保存图片只保存处理后的图片,处理前的图片不做保存。
图片打开后如图所示,2、图像旋转由图可见图像有部分区域无有效信息,不利于处理和获得有效信息,故应去除,首先进行旋转,便于去除无效区域。
在旋转角度编辑栏内输入要旋转的角度然后点旋转按钮,进行旋转。
旋转后如图,图像旋转源码为:function imrotate_Callback(hObject, eventdata, handles)h=getappdata(handles.figure_demo,'img_2');x=get(handles.angle,'string');an=str2num(x);g=imrotate(h,an,'bilinear','crop');img_2=g;axes(handles.tag);imshow(img_2);setappdata(handles.figure_demo,'img_2',img_2);3。
、有效区域自动提取现在图中有效区域基本是在一个矩形内,可以通过算法将有效区域边界的坐标求出来,单击自动识别有效区域按钮,求出后显示在图片右边的静态文本框内。
如下图,图像自动识别有效区域源码如下,function auto_Callback(hObject, eventdata, handles)h=getappdata(handles.figure_demo,'img_2');[x,y]=size(h);flag=1;for i=1:xfor j=1:yif h(i,j)~=0&flag==1x1=i;flag=0;endif h(i,j)~=0x2=i;endendendfor j=1:yfor i=1:xif h(i,j)~=0&flag==0y1=j;flag=1;endif h(i,j)~=0y2=j;endendendset(handles.x_1,'String',num2str(x1));set(handles.x_2,'String',num2str(x2));set(handles.y_1,'String',num2str(y1));set(handles.y_2,'String',num2str(y2));y0=y2-y1;x0=x2-x1;rect=[y1,x1,y0,x0];setappdata(handles.figure_demo,'rect',rect);4、获取有效区域获得有效区域坐标后,就可以通过简单的命令获得遥感图像的有效区域了,单击菜单栏的“获取有效区域”按钮,就可获得。
MATLAB中的遥感图像处理方法解析

MATLAB中的遥感图像处理方法解析遥感图像处理是一项重要的技术,广泛应用于农业、环境保护、城市规划等领域。
MATLAB作为一种强大的科学计算软件,提供了许多有效的图像处理工具和算法,使得遥感图像的处理更加简便高效。
本文将通过几个实例,介绍MATLAB 中常用的遥感图像处理方法。
一、图像预处理遥感图像通常存在一些噪声和失真。
为了提高图像质量和后续分析的精确性,需要对图像进行预处理。
MATLAB提供了各种滤波器和降噪算法,如中值滤波、高斯滤波和小波变换。
这些方法可以降低图像中的噪声,并使细节更加清晰。
二、图像增强图像增强是提升图像视觉效果的重要方法。
在遥感图像处理中,一般采用直方图均衡化和对比度拉伸等方法。
直方图均衡化可以使图像的亮度分布更均匀,增强图像的视觉效果。
对比度拉伸则通过扩展图像的动态范围,使得图像中的细节更加丰富。
三、影像分割影像分割是将图像分割成不同的区域或目标的过程。
MATLAB提供了多种分割算法,如基于阈值的分割、基于区域的分割和基于边缘的分割。
这些方法可以帮助我们从遥感图像中提取出感兴趣的目标,为后续的分析提供有效的数据。
四、特征提取特征提取是从遥感图像中提取出有意义的特征信息的过程。
常用的特征包括纹理特征、形状特征和光谱特征等。
MATLAB提供了一系列用于特征提取的函数和工具箱,如灰度共生矩阵、哈尔小波变换和主成分分析等。
这些方法可以帮助我们从遥感图像中提取出有价值的特征,用于后续的分类和识别任务。
五、图像分类图像分类是将图像分成不同的类别或类别的过程。
在遥感图像处理中,一般采用监督学习和无监督学习的方法。
监督学习需要样本标注数据,可以通过支持向量机和随机森林等算法进行分类。
无监督学习则不需要标注数据,常用的方法有k均值聚类和自组织映射网络等。
MATLAB提供了这些算法的实现和函数,方便我们进行遥感图像的分类和识别。
六、图像融合图像融合是将多个传感器或多个波段的图像进行融合,得到更全面、更丰富的信息的过程。
如何在Matlab中进行遥感数据处理

如何在Matlab中进行遥感数据处理遥感数据处理在当今科研和应用领域中扮演着重要的角色。
Matlab作为一种强大的数学计算软件,提供了丰富的工具和函数,使得遥感数据处理变得更加高效和便捷。
本文将探讨如何在Matlab中进行遥感数据处理。
一、引言遥感数据处理是从卫星、飞机等远距离获取的影像数据中提取地物信息的过程。
处理遥感数据的目标通常包括图像分类、特征提取、变化检测等。
Matlab作为一种强大的数学计算软件,提供了丰富的工具和函数,可以帮助我们在处理遥感数据时更加高效和灵活。
二、读取和显示遥感数据在Matlab中读取和显示遥感数据是遥感数据处理的第一步。
Matlab提供了多种方式读取不同格式的遥感数据,如ENVI格式、GeoTIFF格式等。
可以使用imread函数读取图像数据并使用imshow函数显示图像,也可以使用geotiffread函数读取GeoTIFF格式的遥感数据并使用mapshow函数显示。
三、遥感数据预处理遥感数据预处理是在进行后续分析前对图像进行的一系列操作,如去噪、辐射校正、几何校正、影像融合等。
Matlab提供了丰富的函数和工具箱来完成这些操作。
可以使用medfilt2函数进行图像的中值滤波去噪,使用imadjust函数进行图像的亮度和对比度调整。
对于辐射校正和几何校正,可以利用遥感数据处理工具箱中的radiometricCorrection和geometricCorrection函数。
四、遥感影像分类遥感影像分类是将遥感影像中的像素分为不同的类别,常用于土地利用、植被覆盖等应用。
在Matlab中,可以使用机器学习算法和图像处理技术进行遥感影像分类。
其中,常用的机器学习算法包括支持向量机(SVM)、随机森林(Random Forest)等。
Matlab提供了相应的函数和工具箱来实现这些算法,如fitcsvm函数和TreeBagger函数等。
五、遥感数据特征提取遥感数据特征提取是从遥感影像中提取具有代表性的特征,用于进一步分析和应用。
利用MATLAB实现遥感图像增强

cm u i t n :ter a d ep r et [] E E o m n ai s hoy n x ei ns J .IE c o m
Tas Sg a Poes, c 02 5 (0 : 3- 4 . r . i l r s. O t O , 0 1 )2 8 56 n n c .2 5 2
中 图 分 类 号 : P 5 T 71 文献标志码 : B
Re o e s n i m a e e ha c m e s d o ATLAB m t e sng i g n n e ntba e n M
WA G Qn —e,O ogyn N igw iZ U H n —a
中的某些 信息 , 时 , 同 削弱 或 去 除 某些 不 需 要 的信息 的处 理方 法 。其 主 要 目的是 处 理后 的 图像 对 某 些特
定 的应用 比原来 的 图像 更 加 有效 。因此 此 类 图像 处
像 的灰度密 度 函数与像 素所 在 的位置有 关 。 图像 在 设 点 ( )处 的灰度 分 布密度 函数 为 P zxy , 么 图 , (;,)那
仪 器仪表 用户 d i1 . 9 9 ji n 1 7 -0 1 2 1 . 2 0 3 o:0 3 6 /. s . 6 11 4 .0 0 . 2 s 1
旦经验窒逾 旦
利 用 MA L B实现 遥 感 图像 增 强 T A
王青伟 。邹鸿雁
( 长春工业大学 资产管理处 , 长春 10 1 ) 30 2
像 的灰度 密度 函数为 :
理技 术在 遥 感 、 医学 、 军事 等诸多 领域得 到广 泛 应用 。 图像 增强技术 主要包 含直方 图增强 、 图像平 滑化 处理 、
图像尖锐化处理和彩色处 理技术等 。在实 际应 用 中, 常
MATLAB语言在遥感影像处理中的应用研究

MATLAB语言在遥感影像处理中的应用研究遥感影像处理是利用遥感技术获取的影像数据进行信息提取、分析和应用的过程。
MATLAB作为一种强大的科学计算软件,被广泛应用于遥感影像处理领域。
本文将探讨MATLAB语言在遥感影像处理中的应用研究。
一、MATLAB在遥感影像预处理中的应用在遥感影像处理中,预处理是非常重要的一步,它可以有效地提高后续分析的准确性和效率。
MATLAB提供了丰富的图像处理工具和函数,可以对遥感影像进行去噪、辐射校正、几何校正等预处理操作。
通过编写MATLAB脚本,可以实现自动化的预处理流程,节省人力成本并提高处理速度。
二、MATLAB在遥感影像特征提取中的应用遥感影像中包含丰富的信息,如地物类型、覆盖范围等。
MATLAB 提供了各种图像分割、特征提取的函数,可以帮助从遥感影像中提取出所需的特征信息。
利用MATLAB进行特征提取可以帮助用户更好地理解影像数据,为后续的分类和识别工作奠定基础。
三、MATLAB在遥感影像分类识别中的应用遥感影像分类识别是遥感应用领域的重要研究内容,也是实际应用中常见的需求。
MATLAB提供了各种机器学习和深度学习工具,如支持向量机(SVM)、卷积神经网络(CNN)等,可以帮助用户进行遥感影像的分类识别任务。
通过在MATLAB环境下编写相应的算法,可以实现对遥感影像数据进行高效准确的分类识别。
四、MATLAB在遥感影像变化检测中的应用遥感影像变化检测是监测地表覆盖变化、资源利用变化等重要内容之一。
MATLAB提供了丰富的时间序列分析工具和图像配准算法,可以帮助用户检测出遥感影像中发生的变化。
利用MATLAB进行变化检测可以帮助用户及时发现潜在问题并采取相应措施。
五、MATLAB在遥感影像数据可视化中的应用数据可视化是将抽象数据转换为可视化图形的过程,有助于用户更直观地理解数据信息。
MATLAB提供了丰富的绘图函数和工具箱,可以帮助用户对遥感影像数据进行可视化展示。
遥感图像处理实验报告_图像的空间域滤波处理

遥感图像处理实验报告(2013 —2014 学年第1学期)实验名称:图像的空间域滤波处理实验时间:实验地点:指导教师:专业班级:姓名:学号:一:实验目的掌握Matlab编程语言的基本语法掌握Matlab中imread()、imfilter()、imshow()、mat2gray()、等相关函数的用法及意义通过Matlab程序语言完成图像的空间域滤波处理,以达成边缘检测的目的二:实验内容在Matlab中,分别运用经典一阶梯度、Robert算子、Sobel算子、Prewitt算子及Laplacian 算子进行目标图像的边缘检测,互相对比实验结果,分析差异三:实验平台Windows 7 Ultimate SP1Matlab 2012b四:实验代码及Matlab使用心得(注释中)%清空工作空间clc;%清屏clear all;%关闭所有绘图窗口close all;%定义一个矩阵I 用来存储待处理图像,用imread()函数读取的数据格式为unit8I = imread('C:\Users\Administrator\Desktop\Matlab\data\barbara.png');%创建一个绘图窗口,并显示原图像figure(1);imshow(I);title('原图');%把unit8格式数据转换为doulbe格式,以便滤波计算I = double(I);%%%%%%%%%%%%%%%%%%%%%%%%%%%%经典一阶梯度%%%%%%%%%%%%%%%yjtdx = [0 0 0;-1 1 0;0 0 0];yjtdy = [0 -1 0;0 1 0;0 0 0];%imfilter()函数为一个滤波函数%其中有两个参数,外加一系列附加指令%如下中的I 代表被处理图像%yjtdx 代表滤波器%'replicate'是一个附加指令,因为处理过的数据,可能会超出原图像数据大小的上下限%这个附加指令令超出上下限的数据为最接近上下限的数据ImageYjtdx = imfilter(I, yjtdx, 'replicate');ImageYjtdy = imfilter(I, yjtdy, 'replicate');%将x与y方向上的处理结果进行几何平均,作为处理结果ImageYjtd= sqrt(ImageYjtdx.^2 + ImageYjtdy.^2);%figure()函数创建一个绘图窗口figure(2);%绘制处理后的图像%在用imshow()函数显示图像时要注意,因为现在的处理结果是double类型的,而不是unit8类型%而imshow()在显示图像时,只有unit8类型的矩阵图像数据可以直接输入直接显示%而对于double类型的矩阵,imshow()认为其灰度空间是从0到1,而不是从0-256或其它%也就是说,对于double类型的矩阵,imshow()函数不知道矩阵所代表的图像的灰度级数是多少%这时就需要用mat2gray()函数对double型矩阵做归一化,所谓归一化,就是把原矩阵中的数据%映射至0-1的数据空间中,这时,经m at2gray()函数处理过的矩阵,其中所有元素都在0-1范围内%再用imshow()函数进行显示,才可得到正常的显示结果imshow(mat2gray(ImageYjtd));title('经典一阶梯度处理结果'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%Robert算子%%%%%%%%%%%%%%%%% Robert1 =[-1 0 0;0 1 00 0 0];Robert2 =[0 -1 0;1 0 00 0 0];ImageRobert1 = imfilter(I, Robert1, 'replicate');ImageRobert2 = imfilter(I, Robert2, 'replicate');ImageRobert = sqrt(ImageRobert1.^2 + ImageRobert2.^2);figure(3);imshow(mat2gray(ImageRobert));title('Robert算子处理结果'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%Sobel算子%%%%%%%%%%%%%%%%%% Sobel1 = [1 2 1;0 0 0;-1 -2 -1];Sobel2 = [-1 0 1;-2 0 2;-1 0 1];ImageSobel1 = imfilter(I, Sobel1, 'replicate');ImageSobel2 = imfilter(I, Sobel2, 'replicate');ImageSobel = sqrt(ImageSobel1.^2 + ImageSobel2.^2);figure(4);imshow(mat2gray(ImageSobel));title('Sobel算子处理结果'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%Prewitt算子%%%%%%%%%%%%%%%%% Prewitt1 = [-1 -1 -1;0 0 0;1 1 1];Prewitt2 = [-1 0 1;-1 0 1;-1 0 1];ImagePrewitt1 = imfilter(I, Prewitt1, 'replicate');ImagePrewitt2 = imfilter(I, Prewitt2, 'replicate');ImagePrewitt = sqrt(ImagePrewitt1.^2 + ImagePrewitt2.^2);figure(5);imshow(mat2gray(ImagePrewitt));title('Prewitt算子处理结果'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%Laplacian算子%%%%%%%%%%%%%%%% Laplacian = [0 -1 0;-1 4 -1;0 -1 0];ImageLaplacian = imfilter(I, Laplacian, 'replicate');%滤波结果中可能出现负数,因此需要用abs()函数取绝对值ImageLaplacian = abs(ImageLaplacian);figure(6);imshow(mat2gray(ImageLaplacian));title('Laplacian算子处理结果'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%五:实验结果(仅列一例)六:实验心得1:Matlab部分Matlab是一个命令行式的、解释式的程序语言,学习难度低,在矩阵和数字处理上处速度也很快,有时间我会继续学习2:滤波算子部分1):Laplacian算子对噪声比较敏感,图像颗粒感较强时得到的处理结果很差,在几乎没有噪声的图像中,Laplacian算子的处理结果却出奇的好。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一讲:Matlab与遥感图像处理什么是Matlab?特点是什么?1)MATLAB是MATrix LABoratory的缩写,是一款由美国MathWorks公司推出的商业数学软件。
是一种用于算法开发、数据可视化、数据分析以及数值计算的高级语言和交互式环境。
2)除了矩阵运算、绘制函数/数据、图像等常用功能外,还可以创建GUI以及对C、C++、Java和FORTRAN等语言的支持。
3)主要包括MATLAB主程序、Simulink、Toolbox三大部分。
特点:1)友好的编程环境2)自然的程序语言3)强大的科学计算能力4)出色的可视化功能5)丰富的工具箱6)全方位的帮助系统操作界面:命令窗口、工作空间窗口、当前目录窗口、历史命令窗口、一个或多个图形窗口、浏览器打开Help:View菜单中的Help选项、启动平台的树状列表中选择Help项、在Help菜单中选择Matlab Help菜单项、打开help路径查看html形式的help、在命令界面输入doc图像的数字化:将连续色调的模拟图像经采样量化后转换成数字图像的过程。
从模拟图像—→采样—→量化—→编码—→到数字图像模拟图像:对现实世界的连续表达。
数字化意味着数字图像是现实世界的近似表达。
数字图像:以有限的二维数值点形式表达的图像。
基本单元为像元(Pixel)。
* 通常,每个像元由一个灰度级来表达,其含义可以是颜色、高度、透明度等。
* 通常的图像格式包括:每点1样(B&W、Grayscale、Color?)、每点3样(R、G、B)、每点4样( R、G、B 、Alpha)数字图像处理:【Digital Image Processing (DIP)】又称计算机图像处理,为达到某种目的,利用计算机对数字图像进行的处理过程。
DIP的两个主要目的:目视解译、机器感知数字图像处理的三个层次:低级(狭义的图像处理)、中级(图像处理)、高级(图像理解)位深:是指图片中一个像素点占多少位,常见的有8位、24位、32位,就是说分别用这么大的空间来表示一个点的颜色。
位深度越大则图片的色彩越丰富,但图片占的空间也大。
详细解释:计算机之所以能够表示图形,是采用了一种称作“位”( bit ) 的记数单位来记录所表示图形的数据。
当这些数据按照一定的编排方式被记录在计算机中,就构成了一个数字图形的计算机文件。
“位”( bit )是计算机存储器里的最小单元,它用来记录每一个像素颜色的值。
图形的色彩越丰富,“位”的值就会越大。
每一个像素在计算机中所使用的这种位数就是“位深度”。
第二讲:数字图像处理基础像素间的基本关系:邻域、邻接性、连通性、区域和边界、距离度量邻域(三种):4-邻域:当前像素点4个水平和垂直方向上的相邻像素、D-邻域:当前像素点4个对角线像素、8-邻域:4邻域和D邻域的合集;;在进行邻域处理时采用空间卷积技术(掩膜技术),即在原图像上移动“活动窗口”逐块进行局部运算,以实现平滑和锐化。
基于像素的图像操作:算术运算:加、减、乘、除;逻辑运算:与、或、非数字图像的MATLAB表示法:数字图像模型:数字图像可以表示为一个二维函数f(x,y),其中x,y是空间(平面)坐标,f是(x,y)处的亮度值(DN值、灰度)。
图像类型:灰度图像(Gray-scale images)、二值图像(Binary images)、索引图像(Indexed images)、RGB图像(RGB images)图像/数据类型转换:数据类型转换的通用语法:B = data_class_name( A )IPT中进行图像类型转换的函数:im2uint8、im2uint16、im2double、im2single、mat2gray、im2bw数组与数组索引:标准数组生成函数zeros(M, N)、ones(M, N)、true(M, N)、false(M, N)、magic(M)、eye(M) 、rand(M, N) 、randn(M, N)向量索引:存取单一元素:V(index) ;转置(.');存取数据块(:):v(2:4)、v(3:end)、v(:)、v(1:2:end)、v(end:−2:1)、v([1 4 5]) ;等差数列生成函数:linspace(a, b, n) 矩阵索引:存取单一元素:V(i, j)存取数据块:A([1 2], [1 2 3])、A(1:2, 1:3)、A(2, :)、A(:, 3)生成列向量:v = T2(:)求和:col_sums = sum(A)、total_sum = sum(A(:))逻辑索引:D = logical([1 0 0; 0 0 1; 0 0 0])、A(D)、A(D) = [30 40]、A(D) =100 索引矩阵(续):线性索引;MATLAB存储矩阵并非以它形状的形式,而是一个线性元素列;尺寸为[r c]的矩阵A,A(i, j)的线性序号为 (j-1)*r + i ;行列索引、线性索引相互转化的函数:sub2ind/ind2sub。
第三讲:图像增强图像增强:不考虑图像降质的原因,根据具体的应用目的,采用一系列技术有选择地突出感兴趣的信息,同时抑制不需要的信息,以改善图像的视觉效果,更适于人机分析和处理,增强图像的解译力。
图像增强的分类:空间域:直接对图像的像素灰度值进行操作。
点运算【灰度变换、直方图修正法(均衡化、规定化)、局部统计法】邻域运算【图像平滑、图像锐化】频率域:在图像的变换域中,对图像的变换值进行操作,然后经逆变换获得所需的增强结果。
【高通滤波、低通滤波、同态滤波】彩色增强:变换图像的色彩,已达到增强的目的。
【假彩色增强、伪彩色增强、彩色变换】代数运算:通过图像间的代数运算,达到增强图像的目的,如增强图像间的差异。
* 直方图(Histogram)(归一化):数字图像中各灰度级与其出现的频数间的统计关系,可表示为:P(r k)=n k/n,k=1,2…L,其中,nk是图像中灰度级为rk的像素个数;n是图像的总像素个数;L是灰度级;p(rk)为灰度值rk出现的频率。
直方图概念:直方图是灰度级的函数,描述的是图像中个灰度级像素的个数,对数字图像来说,直方图实际就是灰度值概率密度函数的离散化图形。
直方图均衡化:通过原始图像的灰度非线性变换,使其直方图变成均匀分布,以增加图像灰度值的动态范围,从而达到增强图像整体对比度的目的,使图像变清晰。
变换后的图像在每个灰度级上都具有大致相同的像元数目。
“中心思想”:把原始图像的灰度直方图从比较集中的某个灰度区间变换到全部灰度范围内的均匀分布。
直方图与图像清晰性的关系:直方图反映了图像的清晰程度,当直方图均匀分布时,图像最清晰;我们可以利用变换直方图的方法来使图像更加清晰。
直方图均衡化的计算过程(重点)1、列出原始图像和变换后图像的灰度级,i,j=1,2,…,L,L为灰度级数;2、计算原图像的直方图3、计算累积分布函数4、利用灰度变换函数计算变换后的灰度值,并四舍五入取整5、确定灰度变换关系i→j,据此修正原图像的灰度值6、计算变换后图像的直方图第四讲:图像平滑与锐化邻域运算(区别于点运算)是在像元的邻域上(而不是像元点本身)进行的简单运算。
简单的邻域运算包括:最小值、最大值、中值、平均值等。
图像平滑:在图像获取和传输过程中,受传感器和大气因素的影响会存在噪声,在图像上,这些噪声表现为一些亮点亮度过大的区域,为了抑制噪声,改善图像质量所做的处理。
(加权)均值滤波器→线性滤波器;统计排序滤波器→非线性滤波器平滑→求和→积分统计排序滤波器:统计排序滤波器是一种非线性空间滤波器,对应的中心像素值由滤波器所覆盖像素的统计排序(如最大值、最小值、中值等)所决定。
中值滤波器最为常见。
特点:对椒盐(salt and pepper)噪声最有效,既可消除噪声又可保留图像的细节。
图像锐化:也叫高通滤波,主要是增强图像中的高频部分,突出图像的边缘信息,提高图像细节的反差,所以也叫边缘增强,其结果与平滑相反。
主要目的:突出图像中的细节或者增强被模糊了的细节。
锐化算子:Roberts算子、Sobel算子、拉普拉斯算子(二阶)、梯度锐化法。
锐化→相减→微分锐化滤波可以借助计算图像的空间导数来完成。
方法:基于一阶导数的图像增强、基于二阶导数的图像增强、混合空间增强方法一、二阶导数的特性:通过比较一阶导数与二阶导数的响应,可以得出以下结论:(1)一阶导数通常会产生较宽的边缘;(2)二阶导数对细节有较强的响应,如细线和孤立点;(3)一阶导数一般对灰度阶梯有较强的响应;(4)二阶导数对灰度级阶梯变化产生双响应。
而且,二阶导数在图像中灰度值变化相似时,对线的响应要比对阶梯强,且点比线响应强。
利用拉普拉斯算子进行图像锐化的计算方法:首先,利用拉普拉斯算子对原始图像进行滤波,得到滤波后的图像;然后,将原始图像加(减)滤波结果图像,得到锐化图像。
* 均值滤波:将每个像元在以其为中心的区域内取平均值来代替该像素值,以达到去掉尖锐噪声和平滑图像的目的。
* 中值滤波:与平滑滤波不一样,它是将邻域中的像素按灰度级排序,取其中间值为输出像素。
具体计算方法与模板卷积方法类似,仍采用活动窗口扫描的方法。
取值时,将窗口内所有像元按灰度级排序,取中间值作为中间像元的值。
所以M*N取奇数为好。
一般来说,图像灰度呈阶梯状变化时,取均值平滑比取中值滤波要明显的多。
对于突出亮点的噪声干扰,中值滤波要优于取均值滤波。
第五讲:傅里叶变换傅里叶变换的用途:效果增强、图像分析和信息提取、图像复原、图像压缩、作为理解其他变换的基础利用傅里叶变换进行去噪的原理、步骤* 空间域图像滤波称为平滑和锐化,强调像素与其周围相邻像素的关系,常用的方法是卷积运算。
空间域复杂的卷积可以在频率域通过简单地乘法运算来快速实现。
* 在频率域:低通滤波起到平滑的作用(过低抑高),高通滤波起到锐化的作用(过高抑低)* 高通滤波:高频位于边缘部分,突出边缘部分;低通滤波:边缘损失,有效抑制噪声(噪声一般在高频部分)强调了低频部分,图像会变的比较平滑。
傅里叶变换的原理:步骤:输入-预处理-傅里叶变换-频域滤波-傅里叶逆变换-后处理-图像傅里叶变换指非周期函数的正弦和或余弦和乘以加权函数的积分表示,能把遥感图像从空间域变换到只包含不同频率信息的频率域中,对遥感图像进行傅里叶变换后,将得到一个频率域平面原图像上的灰度突变部位(如物体的边缘)、图像结构域复杂的区域、图像细节及干扰噪声等,变换后其大部分信息集中在高频区,原图像上灰度变化平缓的部位,如植被比较一致的平原、沙漠和海面等,变换后大多集中在低频区,在频域平面上,低频区位于中心部位,高频区位于低频的外围,即边缘部位。