当前位置:文档之家› 基于Matlab的遥感图像处理

基于Matlab的遥感图像处理

基于Matlab的遥感图像处理
测绘工程1161641014 鲍家顺
摘要文章运用Matlab软件对遥感影像的不足之处进行处理改善,详细介绍了处理方法和处理的原理,对处理结果进行了比对分析,并进行了边缘检测与特征提取,论证了处理方法的可行性。

关键词图像处理;matlab ;均衡化;规定化;色彩平衡;边缘检测;特征提取
在获取遥感图像过程中,由于多种因素的影响,会导致图像质量的退化,为了改善图像质量,突出遥感图像中的某些信息,提高图像的视觉效果,需要对图像进行各方面的处理,如分段线形拉伸,对数变换,直方图规定化、正态化,图像滤波,纹理分析及目标检测等。

通过图像处理可以去除图像中的噪声,增强感兴趣的目标和周围背景图像间的反差,有选择地突出便于人或电脑分析的信息,抑制一些无用的信息,强调出图像的边缘,增强图像的识别方便性,从而进行边缘检测和特征提取。

图像写出函数,显示图像函数有image ( ) 、inshow ( ) 等。

[2 ]Matlab 图像处理工具箱处理工具提供了imhist () 函数来计算和显示图像的直方图, 提供了直方图均衡化的函数histeq() 、边缘检测函数edge ( ) 、腐蚀函数imerode () 、膨胀函数imdilate () 及二值图像转换函数im2bw () 等。

文中实验数据采用的是桂林市区灰度遥感图像,宽度为1024 像素,高度为713 像素。

文件读入:
讲workspace切入到图片所在图层:
Cd d:\
读入图片:
[x,cmap]=imread('m.PNG'); %将图片读入转换为矩阵
clf;imshow(x); %显示图片
原始图片
边缘检测特征提取的实现
x=rgb2gray(x); %将真彩色图像转换为灰度图像
J=edge(x,'canny',graythresh(x));
图像灰度直方图均衡化
clear;
[x,cmap]=imread('m.PNG');
imshow(x);
x=rgb2gray(x); %将真彩色图像转换为灰度图像J=histq(x);
figure; imhist(J,64);
前后图片对比
图像滤波处理
clear;
cd d:\
[x,cmap]=imread('m.PNG');
J=imnoise(x,'gaussian',0,0.002); %加入高斯噪声
h=fspecial('average',3);
I2=uint8(round(filter2(h,x)));
%进行中值滤波
I3=medfilt2(J,[3,3]);
%进行维纳滤波
I4=wiener2(J,[3,3]); %进行一次维纳滤波
I5=wiener2(I4,[3,3]); %进行二次维纳滤波
subplot(2,3,1),imshow(I),title('原图象')
subplot(2,3,2),imshow(J),title('加噪声图象')
subplot(2,3,3),imshow(I2),title('均值滤波后图象')
subplot(2,3,4),imshow(I3),title('中值滤波后图象')
subplot(2,3,5),imshow(I4),title('维纳滤波后图象')
subplot(2,3,6),imshow(I5),title('两次维纳滤波后图象')
高斯噪声滤波结果:(其余图片不依依列出)
结论
当然,MATLAB中图像处理工具箱中所提供的图像处理功能远不止我上述的几种,如图像的几何运算,滤波器的设计,二值图像的处理(包括形态学的操作,特征测量等)以及区域处理等都可以在MATLAB的图像处理工具箱中找到处理的方法。

我们可以通过MATLAB提供的强大的帮助功能中得到他们的用法。

通过编写MATLAB的程序文件(M文件)可以建立自己的图像处理工具箱。

相关主题