遥感数字图像处理实习报告含Matlab处理代码.docx

上传人:b****6 文档编号:3056398 上传时间:2022-11-17 格式:DOCX 页数:31 大小:3.15MB
下载 相关 举报
遥感数字图像处理实习报告含Matlab处理代码.docx_第1页
第1页 / 共31页
遥感数字图像处理实习报告含Matlab处理代码.docx_第2页
第2页 / 共31页
遥感数字图像处理实习报告含Matlab处理代码.docx_第3页
第3页 / 共31页
遥感数字图像处理实习报告含Matlab处理代码.docx_第4页
第4页 / 共31页
遥感数字图像处理实习报告含Matlab处理代码.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

遥感数字图像处理实习报告含Matlab处理代码.docx

《遥感数字图像处理实习报告含Matlab处理代码.docx》由会员分享,可在线阅读,更多相关《遥感数字图像处理实习报告含Matlab处理代码.docx(31页珍藏版)》请在冰豆网上搜索。

遥感数字图像处理实习报告含Matlab处理代码.docx

遥感数字图像处理实习报告含Matlab处理代码

 

辽宁工程技术大学

《数字图像处理》上机实习报告

 

教学单位辽宁工程技术大学

专业摄影测量与遥感

实习名称遥感数字图像处理

班级测绘研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的源代码:

clearall

clc

lines=400;

samples=640;

N=6;

img=fopen('D:

\sample_BSQ','rb');

fori=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源代码

clearall

clc

lines=400;

samples=640;

N=6;

fori=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的源代码

clearall

clc

lines=400;

samples=640;

N=6;

fori=1:

N

bi=zeros(lines,samples);

forj=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

四、运行结果

图1:

读取文件的六个波段图

实习2均值/中值滤波、边缘信息提取

一、实验目的与原理

各种图像滤波算子可以实现图像的增强,去噪,边缘提取等。

图像增强的目的在于:

1.采用一系列技术改善图像的视觉效果,提高图像的清晰度,2.将图像转换成一种更适合于人或机器进行分析处理的形式。

它不是以图像保真度为原则,而是通过处理,设法有选择地突出便于人或机器分析某些感兴趣的信息,抑制一些无用的信息,以提高图像的使用价值。

图像增强方法从增强的作用域出发,可分为空间域增强和频率域增强。

空间域增强就是直接对图像像素灰度进行操作;频率域增强是对图像经傅里叶变换后的频谱成分进行操作,然后经傅里叶逆变换获得所需结果。

图像滤波可分为空间域滤波和频率域滤波,前者通过窗口或卷积核进行,它参照相邻像素改变单个像素的灰度值。

后者对图像进行傅立叶变换,然后对频谱进行滤波。

空间域图像滤波称为平滑和锐化,强调像素与其周围相邻像素的关系。

去噪滤波为平滑滤波包括均值滤波和中值滤波。

锐化滤波包括罗伯特梯度、索伯尔梯度、拉普拉斯算法、定向检测,用以提取线状地物和边缘。

此实验用Matlab采用各种滤波对图像进行了处理,处理结果如下:

二、算法描述

1.用imread读取图像文件,并用size获取图像的大小。

2.设计各种滤波算子。

3利用卷积公式对图像的没一个像素进行处理,得到滤波后的图像。

4.用imshow显示滤波后的图像。

三、Matlab源代码

1.均值滤波源码:

clearall

clc

img=imread('2.jpg');

[row,column,band]=size(img);

img0=double(img);

f11=1/9;f12=1/9;f13=1/9;

f21=1/9;f22=1/9;f23=1/9;

f31=1/9;f32=1/9;f33=1/9;

img1=[img0(:

1,:

),img0(:

:

:

),img0(:

column,:

)];

img2=[img1(1,:

:

);img1(:

:

:

);img1(row,:

:

)];

filtered=zeros(row,column,band);

forii=1:

row

forjj=1:

column

filtered(ii,jj,:

)=f11*img2(ii,jj,:

)+f12*img2(ii,jj+1,:

)+f13*img2(ii,jj+2,:

)+...

f21*img2(ii+1,jj,:

)+f22*img2(ii+1,jj+1,:

)+f23*img2(ii+1,jj+2,:

)+...

f31*img2(ii+2,jj,:

)+f32*img2(ii+2,jj+1,:

)+f33*img2(ii+2,jj+2,:

);

end

end

filtered1=uint8(filtered);

subplot(1,2,1),imshow(img);title('图1原始RGB图像');

subplot(1,2,2),imshow(filtered1);title('图2均值滤波后的图像');

imwrite(filtered1,'flower_filtered_mean.jpg');

2.边缘提取滤波源代码

clearall

img=imread('2.jpg');

[row,column,band]=size(img);

img0=double(img);

f11=1;f12=0;f13=-1;

f21=1;f22=0;f23=-1;

f31=1;f32=0;f33=-1;

img1=[img0(:

1,:

),img0(:

:

:

),img0(:

column,:

)];

img2=[img1(1,:

:

);img1(:

:

:

);img1(row,:

:

)];filtered=zeros(row,column,band);

forii=1:

row

forjj=1:

column

filtered(ii,jj,:

)=f11*img2(ii,jj,:

)+f12*img2(ii,jj+1,:

)+f13*img2(ii,jj+2,:

)+...

f21*img2(ii+1,jj,:

)+f22*img2(ii+1,jj+1,:

)+f23*img2(ii+1,jj+2,:

)+...

f31*img2(ii+2,jj,:

)+f32*img2(ii+2,jj+1,:

)+f33*img2(ii+2,jj+2,:

);

end

end

filtered1=uint8(filtered);

subplot(1,2,1),imshow(img);title('图1RGB原图像');

subplot(1,2,2),imshow(filtered1);title('图2边缘提取后的图像');

imwrite(filtered1,'flower_filtered_edge.jpg');

四、运行结果

图1:

原始RGB图像图2:

均值滤波后的图像

图3:

边缘提取后的图像

实习3傅里叶变换、傅里叶逆变换,及频域滤波

一、实验目的

按照信号处理理论,根据滤除的频率特征,滤波有3种:

1.低通滤波。

低通滤波是对频率域的图像通过滤波器H(u,v)削弱或抑制高频部分而保留低频部分的滤波方法。

由于图像上的噪声主要集中在高频部分,所以低通滤波可以起到压抑噪声的作用。

同时,由于强调了低频成分,图像会变得比较平滑。

2.高通滤波。

高通滤波是对频率域的图像通过滤波器来突出图像的边缘和轮廓,进行图像锐化的方法。

3.带通滤波。

仅保留指定频率范围的滤波,范围外的频率被阻止。

将空间域中的图像变换到频率域中进行计算。

空间增强技术强调像元位置和像元之间的关系,但随着考虑的像元数目增多,计算的复杂度增加而且非常耗费计算运算时间,特别是当模板越来越大时,这种现象尤为明显。

频率域增强方法:

1.频率域平滑:

保留图像的低频部分而抑制高频部分。

2.频率域锐化:

保留图像的高频部分而削弱低频部分。

首先将空间域图像

通过傅立叶变换为频率域图像

,然后选择合适的滤波器

的频谱成分进行增强得到图像

,再经过傅立叶逆变换将

变换到空间域,得到增强后的图像

根据傅里叶变换的原理,用Matlab实现对图像的傅里叶变换,再设计各种频率滤波器,包括理想滤波器、巴特沃斯滤波器、指数滤波器等

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1