遥感数字图像处理实习报告含Matlab处理代码
- 格式:doc
- 大小:4.66 MB
- 文档页数:22
数字图像处理实验报告(matlab版)一.实验目的:熟悉数字图像处理中各种椒盐噪声的实质,明确各种滤波算法的的原理。
进一步熟悉matlab的编程环境,熟悉各种滤波算法对应的matlab函数。
实验结果给以数字图像处理课程各种算法处理效果一个更直观的印象。
二.实验原理:1.IPT(图像处理工具箱)基本函数介绍1. imread函数该函数用于从图形文件中读出图像。
格式A=IMRAED(FILENAME,FMT)。
该函数把FILENAME 中的图像读到A中。
若文件包含一个灰度图,则为二维矩阵。
若文件包含一个真彩图(RGB),则A为一三维矩阵。
FILENAME指明文件,FMT指明文件格式。
格式[X,MAP]=IMREAD(FILENAME,FMT).把FILENAME中的索引图读入X,其相应的调色板读到MAP中.图像文件中的调色板会被自动在范围[0,1]内重新调节。
FMT的可能取值为jpg 或jpeg,tif或tiff,bmp,png,hdf,pcx,xwd。
2.imwrite函数该函数用于把图像写入图形文件中。
格式IMWRITE(A,FILENAME,FMT)把图像A写入文件FILENAME中。
FILENAME指明文件名, FMT指明文件格式。
A既可以是一个灰度图,也可以是一个真彩图像。
格式IMWRITE(X,MAP,FILENAME,FMT)把索引图及其调色板写入FILENAME中。
MAP必须为合法的MATLAB调色板,大多数图像格式不支持多于256色的调色板。
FMT的可能取值为tif或tiff,jpg或jpeg,bmp,png,hdf,pcx,xwd。
3. imshow函数显示图像。
格式IMSHOW(I,N).用N级离散灰度级显示灰度图象I。
若省略N,默认用256级灰度显示24位图像,64级灰度显示其他系统。
格式IMSHOW(I,[LOW HIGH]),把I 作为灰度图显示。
LOW值指定为黑色,HIGH指定为白色,中间为按比例分布的灰色。
用c,,语言编程实现遥感图像处理实习报告C语言基础编程实习报告(2011~2012学年第2学期)实习名称:认识实习分项名称:C语言基础编程系别:计算机与通信工程系专业:测控(1)班学号:姓名:实习地点:学校机房3楼实习时间:8月23日~8 月26日实习成绩:指导教师:严光银翟勇涛西南交通大学峨眉校区2012年8 月26 日一.实习目的和要求实习目的:1、巩固C语言编程基础知识2、熟练C语言调试中的常见错误及处理办法3、加强C语言综合编程能力训练4、熟练掌握C语言程序上机调试过程5、学会编写C语言程序解决简单计算题、字符串处理问题、日期和时间处理问题、高精度数处理等问题6、提高外文资料阅读理解的能力。
要求:1.电子文档建立一个文件夹,名称为:学号姓名C基础如:学号为20106900,姓名为李四,则,文件夹名称:20106900李四C 基础①C基础编程(10个C程序)文件名格式:学号姓名简拼_题目编号A.c如:题号为1001,则文件名为:20106900LS_1001A.c②C强化编程(共10道,至少选做4道题)文件名格式:学号姓名简拼_题目编号B.c③实习报告电子文档:学号姓名C 基础.doc④改正错误分析示例中的错误2.实习报告(打印稿)二.实习方式和安排方式:上课与上机安排:三. 实习内容(一)C基础编程(选做6题)在杭电OJ成功提交的题目数:6在杭电OJ未成功提交的题目编号:无提交的电子文档中包含的C程序数:6从6道基础编程题中任选2道比较满意的题目,写出详细解题报告如下: ***************************第1题start***************************** (1)题目解析题目编号1108问题描述编写程序计算2个整数a、b的最小公倍数。
输入数据输入数据输入2个整数a和b,中间用空格间隔。
输出要求对于每次读入的一对整数,输出最小公倍数的结果。
每个结果以回车结束。
遥感图像处理实验报告遥感图像处理实习报告姓名:学号:联系方式:日期:一、实习要求(一)掌握使用ENVI进行各种图像基本操作;(二)熟练运用ENVI中工具进行图像图像校正、裁剪拼接、融合及图像增强处理;二、实习操作过程与实现结果(一)辐射校正及大气校正1、辐射校正(1)选择File->open,选择Landset8武汉数据中的‘’文件。
(2)选择T oolbox->Radiometric Correction->Radiometric Calibration工具,选择要校正的‘LC8LGN00_MTL_MultiSpectral’多光谱数据,设置定标参数(存储格式:BIL;单位转换“Scale Factor”的设置,单击Apply FLAASH Settings得到相应的参数),得到辐射定标后的结果。
2、大气校正(1)选择Toolbox->Radiometric Correction->Atmospheric Correction Module->FLAASH Atmospheric Correction工具;打开工具后设置参数:在FLAASH Atmospheric Correction Module Input Parameters 面板中如图设置各项参数;点击apply运行大气校正。
(2)大气校正运行结果(二)图像裁剪与拼接1、15米全色波段图像裁剪拼接(1)选择File->open,选择‘县界.shp’‘LC8LGN00_MTL’及‘LC8LGN00_MTL’文件。
(2)选择Toolbox->Regions of Interest->Subset Date from ROIs 工具;双击打开后input file面板选择38区段15米分辨率文件,input ROIs面板选择‘县界’文件。
点击‘OK’,38区段文件裁剪后如图。
(3)重复(2)中工具选择步骤;双击打开后在input file 面板选择39区段15米分辨率文件,在input ROIs面板选择‘县界’文件。
基于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、获取有效区域获得有效区域坐标后,就可以通过简单的命令获得遥感图像的有效区域了,单击菜单栏的“获取有效区域”按钮,就可获得。
实验1直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备:1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果:观察图像matlab环境下的直方图分布。
(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码:I=imread('coins.png');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验2 均值滤波一.实验目的1.熟悉matlab图像处理工具箱及均值滤波函数的使用;2.理解和掌握3*3均值滤波的方法和应用;二.实验设备:1.PC机一台;2.软件matlab三.程序设计在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。
计算机图像处理报告软件版本:MATLAB2012a 64-bit班级:电子1002班学号:20102606姓名:钱振林目录实验一数字图像处理平台 (3)一、实验目的 (3)二、实验内容 (3)三、实验仪器设备 (3)四、实验报告要求 (3)五、注意 (3)六、实验代码和截图 (4)实验二图像处理 (5)一、实验目的 (5)二、实验仪器设备 (5)三、实验报告要求 (5)四、实验内容(代码和截图) (5)第1题 (5)第2题 (7)第3-1题 (8)第3.2题 (9)第3.3题 (11)第3.4题 (12)第4题 (16)第5题 (17)第6题 (18)第7题 (20)附录 (21)实验一数字图像处理平台一、实验目的(1)学会使用扫描仪;(2)熟悉MATLAB软件。
二、实验内容(1)用扫描仪扫一幅彩色图片;一幅灰度图片。
(2)熟悉MATLAB的主界面窗口中各个窗口的功能,利用不同的矩阵输入方式给矩阵赋值,了解MATLAB的简单编程及矩阵基本知识;(3)掌握使用MATLAB的帮助来获得更多的信息。
三、实验仪器设备扫描仪、计算机和MATLAB应用软件。
四、实验报告要求写出所做实验的具体内容,上交编写的程序代码。
五、注意1 、扫描的照片不要过大,可以选择照片的一部分进行扫描,否则图片运算时计算量过大,运行时间过长。
2、在输入MATLAB命令时,符号(逗号、括号等)应为英文格式。
六、实验代码和截图>> im=imread('C:\Users\QIAN\Desktop\1.jpg');>> subplot(2,2,1); imshow(im); title('读取显示图像'); >> g=rgb2gray(im);>> subplot(2,2,2); imshow(g); title('转换成灰度图像'); >> j=255-g;>> subplot(2,2,3); imshow(j); title('灰度图像取反');[M,N]=size(g);for i=1:Mfor j=1:Nif g(i,j)<=30ng(i,j)=g(i,j);elseif g(i,j)<=150ng(i,j)=(200-30)/(150-30)*(g(i,j)-30)+30;elseng(i,j)=(255-200)/(255-150)*(g(i,j)-150)+200;endendendsubplot(1,2,1);imshow(g); title('原始灰度图像'); subplot(1,2,2);imshow(ng); title('拉伸后的图像');实验二图像处理一、实验目的(1)通过应用MATLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件编程及应用;(2)通过实验进一步掌握图像处理的基本技术和方法。
遥感图像处理实验报告(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算子的处理结果却出奇的好。
遥感灰度图像地物识别预处理XX武汉大学遥感科学与技术专业, 武汉 430079E-mail: XXX@摘要:通过航摄等方式获取的遥感图像往往是灰度图像,辨识度不高,为了更好地分辨植被、水系、建筑等不同地物及其分布状况,就需要对图像进行预处理,包括平滑、边缘锐化、伪彩色增强等。
关键词: 遥感图像,预处理,平滑,锐化,伪彩色增强1引言随着遥感技术的快速发展及日益增长的生产生活需求,遥感图像在现实中的应用越来越广泛。
为了使图像拥有更好的显示效果,发挥更大作用,就需要与相关的数字图像处理方法联系起来。
1.1问题的提出遥感图像很大一部分是灰度图像,不能展现真实的地物原貌,辨识度不高,需要想办法解决。
1.2本报告研究的意义本报告主要介绍遥感灰度图像为了更好地进行地物识别而采取的部分简单处理步骤,使笔者对遥感生产实践加深了了解,同时巩固了相关数字图像处理知识。
1.3本报告研究的结构安排本报告分为引言、算法描述、实验结果及分析、总结与展望、实习心得与体会等五个部分阐述。
2算法描述2.1算法1-中值滤波刚获取的原始遥感图像由于仪器质量、大气因素、光照因素等多方面影响,会产生部分干扰及噪声。
预处理的第一步就是通过空间域平滑抑制噪声,比较了各种具体的平滑方法后,笔者决定采用中值滤波。
该方法是一种非线性的平滑法,对脉冲干扰及椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。
下面介绍一下其具体算法。
中值滤波需要对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心像素的灰度值。
该窗口可以是一维,也可以是多维(在此处采用二维窗口,通常有3×3、5×5等规格)。
窗口按照一定的顺序(如先从左到右,再从上到下)进行滑动,依次改变图像内的每一个像素值。
如图1,这个3×3窗口中的各像素值中值为6,因此窗口中心像素值便被替换成了6,有效的抑制了10这个可能的噪声信号。
图 1: 中值滤波示例在数字图像处理相关程序中实现中值滤波功能的核心代码如图2:图 2: 中值滤波相关代码对含有较多椒盐噪声的灰度图像进行中值滤波处理后效果如图3、图4所示:图 3: 处理前图4: 处理后2.2算法2-高通滤波在进行中值滤波处理后的图像中,噪声受到了一定程度的抑制,但同时由于整体平滑使得边缘或多或少变得模糊,不利于识别。
大学数字图像处理实验报告设计题目:数字图像处理专业名称:软件工程班级: 1 学号: 1 姓名: MARK 指导教师:2016年5月16日目录实验一数字图像的采集和Photoshop软件的操作 (4)1.1实验目的 (4)1.2实验任务及要求 (4)1.3实验内容、步骤和结果 (4)1.4 结果分析 (7)实验二图像的傅里叶变换 (8)2.1实验目的 (8)2.2实验任务及要求 (8)2.3实验内容、步骤和结果 (8)2.4 结果分析 (11)实验三图像的灰度变换和直方图变换 (12)3.1实验目的 (12)3.2实验任务及要求 (12)3.3实验内容、步骤和结果 (12)3.4 结果分析 (16)实验四图像的平滑处理 (17)4.1实验目的 (17)4.2实验任务及要求 (17)4.3实验内容、步骤和结果 (17)4.4 结果分析 (20)实验五 (21)5.1实验目的 (21)5.2实验任务及要求 (21)5.3实验内容、步骤和结果 (21)5.4 结果分析 (24)实验六 (26)6.1实验目的 (26)6.2实验任务及要求 (26)6.3实验内容、步骤和结果 (26)6.4 结果分析 (28)实验一数字图像的采集和Photoshop软件的操作1.1实验目的1、熟悉并掌握MATLAB,PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单的变换。
1.2实验任务及要求1、根据实验内容在MATLAB中编写相应地代码,使结果符合题目要求;2、在PHOTOSHOP中实现与MATLAB中相同对图像的处理,进行对比;3、完成实验报告。
1.3实验内容、步骤和结果1、实验内容:a)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口上分成三个子窗口来分别显示RGB图像、灰度图像和二值图像,注上文字标题;b)对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题;c)对一幅图像进行灰度变化,实现图像变亮,变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题;d)学会常用数字图像处理软件Photoshop的功能操作练习。
《数字图像处理实验报告》实验一图像的增强一.实验目的1.熟悉图像在MATLAB下的读写、输出;2.熟悉直方图;3.熟悉图像的线性指数等;4.熟悉图像的算术运算和几何变换。
二.实验仪器计算机、MATLAB软件三.实验原理图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。
从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像。
其基本原理是:对一幅图像的灰度直方图,经过一定的变换之后,使其成为均匀或基本均匀的,即使得分布在每一个灰度等级上的像素个数.f=H等或基本相等。
此方法是典刑的图像空间域技术处理,但是由于灰度直方图只是近似的概率密度函数,因此,当用离散的灰度等级做变换时,很难得到完全平坦均匀的结果。
频率域增强技术频率域增强是首先将图像从空间与变换到频域,然后进行各种各样的处理,再将所得到的结果进行反变换,从而达到图像处理的目的。
常用的变换方法有傅里叶变换、DCT变换、沃尔什-哈达玛变换、小波变换等。
假定原图像为f(x,y),经傅立叶变换为F(u,v)。
频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像。
四.实验内容及步骤1.图像在MATLAB下的读写、输出;实验过程:>> I = imread('F:\image\624baf9dbcc4910a.jpg');figure;imshow(I);title('Original Image');text(size(I,2),size(I,1)+15, ...'IMG_20170929_130307.jpg', ...'FontSize',7,'HorizontalAlignment','right');Warning: Image is too big to fit on screen; displaying at 25% > In imuitools\private\initSize at 86In imshow at 196Original Image2.给定函数的累积直方图。
学院:自动化学院班级:电081班姓名:***学号:********2011年10月实验一直方图均衡化一、实验目的:1. 熟悉图像数据在计算机中的存储方式;2. 掌握图像直方图均衡化这一基本处理过程。
二、实验条件:PC微机一台和MATLAB软件。
三、实验内容:1.读入图像数据到内存中,并显示读入的图像;2.实现直方图均衡化处理,显示处理前后图像的直方图。
3.显示并保存处理结果。
四、实验步骤:1.打开Matlab编程环境;2.获取实验用图像。
用’imread’函数将图像读入Matlab;用’imshow’函数显示读入的图像。
3.获取输入图像的直方图:用’imhist’函数处理图像。
4.均衡化处理:用’histeq’函数处理图像即可。
5.获取均衡化后的直方图并显示图像:用’imhist’和’imshow’函数。
6.保存实验结果:用’imwrite’函数处理。
五、实验程序及结果:1、实验程序subplot(6,2,1);i=imread('test1-1.jpg');imhist(i);title('test1-1 hist');subplot(6,2,2);i=im2double(i);imshow(i);title('test1-1 Ô-ͼÏñ');subplot(6,2,3);s=histeq(i);imhist(s);title('test1-1 balancedhist');subplot(6,2,4);imshow(s);title('test1-1 ¾ùºâ»¯ºóµÄͼÏñ');subplot(6,2,5);i=imread('test1-2.jpg');imhist(i);title('test1-2 hist');subplot(6,2,6);i=im2double(i);imshow(i);title('test1-2 Ô-ͼÏñ');subplot(6,2,7);s=histeq(i);imhist(s);title('test1-2 balancedhist'); subplot(6,2,8);imshow(s);title('test1-2 ¾ùºâ»¯ºóµÄͼÏñ');subplot(6,2,9);i=imread('test1-3.jpg');imhist(i);title('test1-3 hist');subplot(6,2,10);i=im2double(i);imshow(i);title('test1-3 Ô-ͼÏñ');subplot(6,2,11);s=histeq(i);imhist(s);title('test1-3 balancedhist'); subplot(6,2,12);imshow(s);title('test1-3 ¾ùºâ»¯ºóµÄͼÏñ');2、实验结果test1-1 hist050100150200250test1-1 原图像test1-1 balancedhist00.10.20.30.40.50.60.70.80.91test1-1 均衡化后的图像test1-2 hist050100150200250test1-2 原图像test1-2 balancedhist00.10.20.30.40.50.60.70.80.91test1-2 均衡化后的图像0test1-3 hist050100150200250test1-3 原图像test1-3 balancedhist00.10.20.30.40.50.60.70.80.91test1-3 均衡化后的图像六、实验思考1.数字图像直方图均衡化之后直方图为什么不是绝对平坦的?答:直方图均衡化是将一已知灰度概率密度分布的图像,经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像。
遥感图像处理实习报告在当今科技飞速发展的时代,遥感技术作为获取地球表面信息的重要手段,已经在众多领域得到了广泛应用。
为了更深入地了解和掌握遥感图像处理的技术和方法,我参加了本次遥感图像处理实习。
通过这次实习,我不仅学到了专业知识,还提高了实践操作能力,对遥感技术有了更全面的认识。
一、实习目的本次实习的主要目的是让我们熟悉遥感图像处理的基本流程和方法,掌握常用的遥感图像处理软件,学会对遥感图像进行几何校正、辐射校正、图像增强、图像分类等操作,并能够运用所学知识解决实际问题,提高对遥感数据的分析和应用能力。
二、实习内容(一)数据准备在实习开始前,我们收集了一系列的遥感图像数据,包括不同传感器、不同分辨率、不同波段组合的图像。
这些数据涵盖了城市、农田、森林、水域等多种地物类型,为后续的处理和分析提供了丰富的素材。
(二)软件学习我们使用了 ERDAS IMAGINE 和 ENVI 这两款主流的遥感图像处理软件。
通过学习这两款软件的基本操作界面、功能模块和工具菜单,我们逐渐熟悉了如何导入数据、显示图像、进行图像裁剪和拼接等基本操作。
(三)几何校正几何校正是遥感图像处理中的重要环节,它可以消除由于传感器姿态、地球曲率、地形起伏等因素引起的图像几何变形。
我们首先选取了具有精确地理坐标的控制点,然后利用多项式模型对图像进行几何校正,通过不断调整参数,使校正后的图像与实际地理坐标相匹配。
(四)辐射校正辐射校正旨在消除由于传感器性能、大气散射和吸收等因素引起的图像辐射误差。
我们采用了基于直方图匹配和辐射定标的方法,对图像的亮度和对比度进行了调整,使不同时相、不同传感器获取的图像具有可比性。
(五)图像增强为了突出图像中的有用信息,我们运用了多种图像增强技术,如对比度拉伸、直方图均衡化、滤波等。
通过这些操作,图像中的地物特征更加清晰,有利于后续的分析和识别。
(六)图像分类图像分类是遥感图像处理的核心任务之一,我们尝试了监督分类和非监督分类两种方法。
辽宁工程技术大学《数字图像处理》上机实习报告教学单位辽宁工程技术大学专业摄影测量与遥感实习名称遥感数字图像处理班级测绘研11-3班学生姓名路聚峰学号*********指导教师孙华生实习1 读取BIP 、BIL、BSQ文件一、实验目的用Matlab读取BIP 、BIL、BSQ文件,并将结果显示出来。
遥感图像包括多个波段,有多种存储格式,但基本的通用格式有3种,即BSQ、BIL和BIP格式。
通过这三种格式,遥感图像处理系统可以对不同传感器获取的图像数据进行转换。
BSQ是像素按波段顺序依次排列的数据格式。
BIL 格式中,像素先以行为单位块,在每个块内,按照波段顺序排列像素。
BIP格式中,以像素为核心,像素的各个波段数据保存在一起,打破了像素空间位置的连续性。
用Matlab读取各个格式的遥感数据,是图像处理的前提条件,只有将图像读入Matlab工作空间,才能进行后续的图像处理工作。
二、算法描述1.调用fopen函数用指定的方式打开文件。
2.在for循环中调用fread函数,用指定的格式读取各个像素。
3.用reshape函数,重置图像的行数列数。
4.用imadjust函数调整像素的范围,使其有一定对比度。
5.用imshow显示读取的图像。
三、Matlab源代码1.读取BSQ的源代码:clear allclclines=400;samples=640;N=6;img=fopen('D:\sample_BSQ','rb');for i=1:Nbi=fread(img,lines*samples,'uint8');band_cov=reshape(bi,samples,lines);band_cov2=band_cov'; band_uint8=uint8(band_cov2);tif=imadjust(band_uint8);mkdir('D:\MATLAB','tifbands1')name=['D:\MATLAB\tifbands1\tif',int2str(i),'.tif'];imwrite(tif,name,'tif');tilt=['波段',int2str(i)];subplot(3,2,i),imshow(tif);title(tilt);endfclose(img);2.读取BIP源代码clear allclclines=400;samples=640;N=6;for i=1:Nimg=fopen('D:\MATLAB\sample_BIP','rb');b0=fread(img,i-1,'uint8');b=fread(img,lines*samples,'uint8',(N-1));band_cov=reshape(b,samples,lines);band_cov2=band_cov';%תÖÃband_uint8=uint8(band_cov2);tif=imadjust(band_uint8);mkdir('E:\MATLAB','tifbands')name=['E:\MATLAB\tifbands\tif',int2str(i),'.tif'];imwrite(tif,name,'tif'); %imwrite(A,filename,fmt)tilt=['波段',int2str(i)];subplot(3,2,i),imshow(tif);title(tilt);fclose(img);end3.读取BIL的源代码clear allclclines=400;samples=640;N=6;for i=1:Nbi=zeros(lines,samples);for j=1:samplesimg=fopen('D:\MATLAB\sample_BIL','rb');bb=fread(img,(i-1)*640,'uint8');b0=fread(img,1*(j-1),'uint8');bandi_linej=fread(img,lines,'uint8',1*(N*samples-1));fclose(img);bi(:,j)=bandi_linej;endband_uint8=uint8(bi);tif=imadjust(band_uint8);mkdir('D:\MATLAB','tifbands')name=['D:\MATLAB\tifbands\tif',int2str(i),'.tif'];imwrite(tif,name,'tif');tilt=['²¨¶Î',int2str(i)];subplot(3,2,i),imshow(tif);title(tilt);end四、运行结果图1:读取文件的六个波段图实习2 均值/中值滤波、边缘信息提取一、实验目的与原理各种图像滤波算子可以实现图像的增强,去噪,边缘提取等。
数字图像处理(一)实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。
7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。
其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
重庆交通大学学生实验报告实验课程名称《数字图像处理》课程上机实验开课实验室河海学院仿真实验室学院河海学院年级专业08级地理信息系统学生姓名学号时间2011 至2012 学年第 1 学期实验一 图像显示【实验内容】1)使用 MATLAB 图像读取函数imread 读取图像。
2)使用 MATLAB 图像显示函数imshow 显示图像。
3)使用 MATLAB 添加色带函数colorbar 为图像添加色带。
【实验目的】1)掌握MATLAB 图像读取和显示函数的应用方法。
2)了解如何为图像添加色带。
【实验结果】(放置处理前图像)(放置处理后图像)2-1 2-5-3 2-10【程序说明】a=imread('yq.jpg'); a=double(a); %a=uint8(a); imshow(a);%save saturn.dat a -ascii;save yu.text a -ascii; %结果图2-1e=imread('yq.jpg'); imshow(e);iptsetpref('ImshowTrues ize','manual'); figure,imshow(e);iptsetpref('ImshowTrues ize','auto'); bw1=zeros(20,20); bw1(2:2:18,2:2:18)=1; figure,imshow(bw1,'n otruesize');bw1 whos%结果图2-5-3%使用一个调色板来显示一副二进制图像figure,imshow(bw,[1 0 0;0 0 1]); %结果图2-10实验二 图像运算【实验内容】1)使用 MATLAB 滑动邻域操作函数nlfilter 对图像进行处理。
2)使用 MATLAB 分离邻域操作函数blkproc 对图像进行处理。
遥感数字图像处理实验报告(实验五)姓名:学号:班级:指导老师:1)项目名称:遥感图像光谱增强处理2)实验目的:实验ERDAS软件进行如下实验并掌握其操作方法1.主成份分析,主成份逆变换,主成份占总能量的百分比计算;2.RGB-HIS相互转换,图像融合,用MODEL MAKER 建模方式进行图像处理。
3)实验原理:ERDAS IMAGINE 是美国 ERDAS 公司开发的专业遥感图像处理与地理信息系统软件。
它是以模块化的方式提供给用户的,可使用户根据自己的应用要求、资金情况合理地选择不同功能模块及其不同组合,对系统进行剪裁,充分利用软硬件资源,并最大限度地满足用户的专业应用要求。
本次试验所涉及的均为该软件有关图像运算的一些功能。
4)数据来源及数据基本信息:数据来自国际科学数据服务平台,Landsat5 2010年9月18日的图像,图像共7个波段,波段1-5和波段7的空间分辨率为30米,6波段(热红外波段)的空间分辨率为120米。
对应的波段、波长、分辨率、主要作用如表:图像采用的投影为WGS 84投影,条带号为122,行编号为36,覆盖豫东、皖北、苏北、鲁西四省交界地区。
5)实验过程:主成份分析(PCA, Principal Component Analysis):是一种常用的数据压缩方法,它可以将具有相关性的多波段数据压缩到完全独立的较少的几个波段上,使图像数据更易于解译。
ERDAS IMAGING 提供的主成份变换功能最大可以对含有256个波段的图像进行转换压缩。
具体步骤如下:Main —— image interpreter —— spectral enhancement —— principal comp ——principal components 对话框,并进行如下参数设置,如图:点击tools——edit text files 打开对话框,其中显示有各波段能量250.879945226353142.35099348637618.436418108432355.5777731988779483.2445004061740521.1614649640590940.7869031272060705使用计算器计算:250.879945226353 / (250.879945226353 + 142.350993486376 + 18.43641810843235 + 5.577773198877948 + 3.244500406174052 + 1.161464964059094 + 0.7869031272060705)= 250.879945226353 / 422.4379985174785145 = 59.388583912148413833934608092912%去相关拉伸(Decorrelation Stretch):去相关拉伸是对图像的主成分进行对比度拉伸处理,而不是对原始图像进行拉伸,在操作时只需输入原始图像就可以了,系统将首先对原始图像进行主成分变换,并对主成分图像进行对比度拉伸处理,然后进行主成分逆变换,依据当时变换的特征矩阵,将图像恢复到RGB彩色空间,达到图像增强的目的。
辽宁工程技术大学
《数字图像处理》上机实习报告
教学单位辽宁工程技术大学
专业摄影测量与遥感
实习名称遥感数字图像处理
班级测绘研11-3班
学生姓名路聚峰
学号*********
指导教师孙华生
实习1 读取BIP 、BIL、BSQ文件
一、实验目的
用Matlab读取BIP 、BIL、BSQ文件,并将结果显示出来。
遥感图像包括多个波段,有多种存储格式,但基本的通用格式有3种,即BSQ、BIL和BIP格式。
通过这三种格式,遥感图像处理系统可以对不同传感器获取的图像数据进行转换。
BSQ是像素按波段顺序依次排列的数据格式。
BIL 格式中,像素先以行为单位块,在每个块内,按照波段顺序排列像素。
BIP格式中,以像素为核心,像素的各个波段数据保存在一起,打破了像素空间位置的连续性。
用Matlab读取各个格式的遥感数据,是图像处理的前提条件,只有将图像读入Matlab工作空间,才能进行后续的图像处理工作。
二、算法描述
1.调用fopen函数用指定的方式打开文件。
2.在for循环中调用fread函数,用指定的格式读取各个像素。
3.用reshape函数,重置图像的行数列数。
4.用imadjust函数调整像素的范围,使其有一定对比度。
5.用imshow显示读取的图像。
三、Matlab源代码
1.读取BSQ的源代码:
clear all
clc
lines=400;
samples=640;
N=6;
img=fopen('D:\sample_BSQ','rb');
for i=1:N
bi=fread(img,lines*samples,'uint8');
band_cov=reshape(bi,samples,lines);
band_cov2=band_cov'; band_uint8=uint8(band_cov2);
tif=imadjust(band_uint8);
mkdir('D:\MATLAB','tifbands1')
name=['D:\MATLAB\tifbands1\tif',int2str(i),'.tif'];
imwrite(tif,name,'tif');
tilt=['波段',int2str(i)];
subplot(3,2,i),imshow(tif);title(tilt);
end
fclose(img);
2.读取BIP源代码
clear all
clc
lines=400;
samples=640;
N=6;
for i=1:N
img=fopen('D:\MATLAB\sample_BIP','rb');
b0=fread(img,i-1,'uint8');
b=fread(img,lines*samples,'uint8',(N-1));
band_cov=reshape(b,samples,lines);
band_cov2=band_cov';%תÖÃ
band_uint8=uint8(band_cov2);
tif=imadjust(band_uint8);
mkdir('E:\MATLAB','tifbands')
name=['E:\MATLAB\tifbands\tif',int2str(i),'.tif'];
imwrite(tif,name,'tif'); %imwrite(A,filename,fmt)
tilt=['波段',int2str(i)];
subplot(3,2,i),imshow(tif);title(tilt);
fclose(img);
end
3.读取BIL的源代码
clear all
clc
lines=400;
samples=640;
N=6;
for i=1:N
bi=zeros(lines,samples);
for j=1:samples
img=fopen('D:\MATLAB\sample_BIL','rb');
bb=fread(img,(i-1)*640,'uint8');
b0=fread(img,1*(j-1),'uint8');
bandi_linej=fread(img,lines,'uint8',1*(N*samples-1));
fclose(img);
bi(:,j)=bandi_linej;
end
band_uint8=uint8(bi);
tif=imadjust(band_uint8);
mkdir('D:\MATLAB','tifbands')
name=['D:\MATLAB\tifbands\tif',int2str(i),'.tif'];
imwrite(tif,name,'tif');
tilt=['²¨¶Î',int2str(i)];
subplot(3,2,i),imshow(tif);title(tilt);
end。