0040图像处理课程论文.docx
《0040图像处理课程论文.docx》由会员分享,可在线阅读,更多相关《0040图像处理课程论文.docx(21页珍藏版)》请在冰豆网上搜索。
0040图像处理课程论文
成绩
GuangxiUniversityofScienceandTechnology
《数字图像处理与通信》课程论文
院(系):
计通学院
专业:
通信工程
班级:
通信121
姓名:
徐嘉良
学号:
201200402008
上课时间:
2014-2015
(2)
基于MATLAB的卫星数字图像处理技术研究
摘要
随着信息化社会的到来,世界军事领域展开了一场以信息技术为核心的新的军事技术革命.我军建设的目标是充分利用现代信息技术,建设2l世纪新型军队,打赢下个世纪的信息时代战争。
数字图像处理技术是其现代信息技术重要组成部分。
卫星图像识别是卫星导航制导的重要环节。
本文首先介绍了图像处理技术的发展概况和军事上的重要应用以及MATLAB软件基本操作方法。
接着,针对军事卫星图像的特点,对灰度变换、直方图变换、图像平滑和图像锐化、图像的假彩色与伪彩色处理等预处理方法,进行了分析、讨论,并利用了MATLAB图像处理工具箱函数加以实现。
在此基础上,进一步运用边缘检测、特征提取、分析等一系列技术,通过计算机进行模拟,对图像进行辨别,分析和处理。
增强图像中的有用信息,削弱干扰和噪声,简化图像的表示,分析图像的有用数据,以便于观察识别和进一步地分析处理,从而对图像中的不同对象进行描述,解释、分类。
最后,给出了常见的统计模式的识别方法,并比较详细地讨论了对卫星图像的识别。
文中对所研究的方法利用强大的Maflab软件进行了仿真实验,证实了所得结果的合理性和有效性.
战场数字化是赢得下一场战争的关键,本文中所完成工作,对完善军事侦察的手段,提高侦察水平,促进我军的现代化建设具有一定重要意义。
关键词数字图像处理灰度变换直方图变换边缘检测特征提取MATLAB统计模式识别
1 引言
计算机图像处理技术所讨论的问题,是研究用计算机代替人自动地处理大量的物理信息,解决人类生理器官所不能识别的问题,从而部分代替人的脑力劳动。
人类识别图像的过程总是先找出它们外形或颜色的某些特征进行比较分析、判断,然后加以分门别类,即识别它们。
我们在研制自动识别机时也往往借鉴人的思维活动,采用同样的处理方法。
然而图像的灰度与色彩是由光强和波长不同的光波所引起的,它们与景物表面的特性、方向、光线条件以及干扰等多种因素有关。
在各种恶劣的工作环境里,图像与景物已有较大的差别。
因此要区分图像属于哪一类,往往要经过预处理、分割、特征提取、分析、分类,识别等一系列的过程。
现在这些技术完全可通过计算机进行模拟、对图像信息进行处理来达到对它的识别。
本文利用MATLAB语言图像处理工具箱强大的图像处理功能,对军事间谍卫星拍摄的图像数据进行分析,去除干扰、消除噪声和差异,经过图像变换,图象增强、图像分析等过程,将原始图像变成适合于计算机进行特征提取的形式,进而对目标图像的信息进行分类和辨识,最后运用统计模式识别的方法进行图像识别,达到识别目的。
2 图像预先处理
2.1 卫星图像变换
在分析一幅卫星图像时,常常由于外界环境因素,图像拍摄的质量较差,而图像的灰度与色彩是由光强和波长不同的光波所引起的,它们与景物表面的特性、方向、光线条件以及干扰等多种因素有关。
在各种恶劣的工作环境里,图像与景物已有较大的差别。
为了快速有效地对卫星图像进行处理和分析,比如进行图像增强、图像分析、图像复原等常常需要将原定义在图像空间的图像以某种形式转换到另外一些空间,并利用这些空间的特有性质方便地进行一定的加工,最后再转换回到图像空间以得到所需的效果。
因此,在卫星图像处理过程中,图像变换是处理和分析的基础。
2.1.1Fourier变换
Fourier变换是图像处理中常用的到的变换。
它将图像从空域变换到频域。
使我们能定量地分析数字化系统、卷积滤波器、噪声、显示点等作用,把傅立叶变换的理论同其物理解释相结合,将大大有助于解决卫星图像处理问题。
在数字图像处理中,输入和数出图像通常都是二维的,一般表示为二维数字矩阵,因此这里直接讨论二维傅立叶变换。
设数字图像大小为个象素,其二维离Fourier变换为
二维离散Follrier逆变换由下式给出:
,称为正变换核,
,称为异变换核心,x,y为间领域采样值,表示频域采样值。
空间域采样增量和频率域采样增量之间有如下关系:
其中F(u,v)称为图像信号f(u,v)的频谱,一般它是复量,可以写成:
其中,R(u,v),I(u,v)分别为F(u,v)的实部和虚部。
F(u,v)的模为:
称为f(x,y)的振幅谱;
相角为
称为f(x,y)的相位谱;
另外,二位离散傅立叶变换可以通过两次一维FFT计算得到,即可通过简单得到,方法为计算X每列的一维FFT,然后计算每行的结果,即
其中
且,u=0,1,2...M-1;v=0,1,2...N-1
利用Fourier变换的性质,图像处理中许多在空间域(或频率域)上困难的操作都可以转换到相应的频率域(或空间域)上进行,处理完后再变换回空间域(或频率域)。
2.1.2离散余弦变换(DCT)
离散余弦变换(DCT)也是图像处理中应用较多的一种变换。
因为任何一个在给定区间内满足狄里赫利条件的连续实对称(偶)函数,均可展开成仅含有余弦项的Fourier级数,可将这一结果推广应用到图像变换中。
先把一幅图像扩展成对称函数,如果围绕图像边界将其折叠成对称形式,则由此种扩展方法得到的变换称为偶离散余弦变换;如重叠一个图像元素来折叠成对称形式,则由此种扩展方法得到的变换称为奇离散余弦变换。
二维偶离散余弦变换(DCT)定义为
其中,u=0,1,2...M-1;v=0,1,2...N-1
其中,u=0,1,2...M-1;v=0,1,2...N-1
因此有
在MATLAB中,DCT2函数用来实现离散余弦变换的计算,函数调用格式如下:
B=DCT2(A)
矩阵B与矩阵A的维数相同,包含了矩阵A的离散余弦变换系数。
而用IDCT2函数实现二维逆离散余弦变换.
图像变换是图像处理和分析的基础,具体应用于以后的实验中,本小节将不做具体运用。
2.2卫星图像的灰度变换
卫星图像的拍摄往往在曝光不足或过度的情况下,图像灰度可能会局限在一个很小的范围内.这时在显示器上看到的将是一个模糊不清的、似乎没有灰度层次的图像。
我们可以用一个线性单值函数,对图像的每一个像素作线性扩展,将有效地改善图像视觉效果。
灰度变换的图像增强方法属于时域处理方法,实际上对卫星图像的灰度级进行变换,是使该卫星图像的对比度得到调整,从而达到图像增强的目的,是一种点对点的变换。
2.2.1灰度级线性变换
灰度级线性变换假定原图像f(x,y)的灰度级范围是[a,b],变换后图像g(x,y)的灰度级范围扩大到[m,n],那么用下述线性变换可以实现这一目的:
[a,b]可从直方图上获取,由于n-m总是大于a-b所以对于离散图像来说,尽管
变换前后像素个数不变,但不同像素之间地灰度差变大,对比度变大,图像质量必然优于变换前。
对于连续图像,如果背景与目标物体的灰度差很小,那么在[a,b]区间内量化时可能进入同一灰度级别内而不能分辨。
如果线性变换时使
则量化时f(x,y)在[m,n]区间内就取得2n个以上不同的灰度值(n是f(x,y)在[m,n]区间内所取的灰度级别的个数),人的眼睛原本不能检测到的目标用增强的手段就可以表现出来。
另一种情况,图像中大部分像素的灰度级在[a,b]范围内,少数部分像素分布在小于a和大于b的区间内。
此时可用3.17式作交换。
2.2.2灰度级分段线性与非线性变换(Gamma校正)
这一变换通常可根据需要将灰度级分成三段。
分段线性变换公式:
其中
分段非线性变换中,在所需要的灰度级区间采用非线性变换。
灰度倒置变换(正负反片)灰度倒置变换公式:
灰度级(窗13)切片变换灰度级(窗口)切片变换是将某一小范围内的灰度值抽出来,转换成最大灰度值的变换。
有背景变换公式:
有时卫星图像的动态范围太大,在显示或观察时,很高的亮度值把暗区的信号都掩盖掉了.如进行付氏变换后,直流分量往往非常大,为增强低灰度级像素,压制高灰度级像素,结果只能观察到少量的像素,其余均是暗值。
通常采用取对数的方法加以动态范围调整,即
其中,c为比例系数,式中的1和绝对值是避免负数和0取对数。
在MATLAB语言中,可以用imadjust函数进行灰度变换。
用MATLAB语言编写的灰度变换程序如下所示:
%Example01.m
%GRAYTRANSFORM
I=imread(‘shy.jpg’);
imshow(I)
Jl=imadjust(I,[0.30.7],[0,1],1);
figute,imshow(J1)
J2=imadjust(I,[0.30.7],[0,1],0.5);
Figure,imshow(J2)
J3=imadjust(I,[0.30.7],[0,1],1.5);
Figure,imshow(J3)
J4=imadjust(I,[0.30.7],[1,0],1);
figure,imshow(J4)
上述程序运行结果如图2.1至图2.5所示,
图2.1原图像图2.2灰度变换图像
(一)
图2.3灰度变换图像
(二)图2.4灰度变换图像(三)
图2.5灰度变换图像(四)
图2.1是沈阳地区的卫星图像,由于曝光不足,图像很模糊,对其灰度作线性扩展得到图2.2,当imadjust中的GAMMA参数小于l时,变换后的图像更亮一些,如图2.3所示;当imadjust中的GAMMA参数大于1时,变换后的图像更暗一些,如图2.4;而当输出范围倒置时,可以得到原图像的负片,如图2.5。
我们可以看出,图2.3的处理结果是十分清晰的。
3 图像特征提取
3.1理论基础
图像特征抽取就是要找出分开各区域的特征。
常用的特征包括:
(1)幅度特征。
像素点(m,n)的(2W+1)×(2W+1)邻域的平均灰度幅度定义为
(2)统计特征。
一是直方图特征。
图像振幅的一维概率密度可定义为
其中,表示灰度整量电平。
相应的一阶直方图为
式中,M表示以(i,j)为中心的测量窗内(如整幅图像)像素的总数,N(b)表示该窗口内灰度的值为b像素数。
二维直方图是基于像素的二维联合分布密度的定义得到的。
设任意两个点(i,j),(k,l)上的灰度值分别为,f(I,j),f(k,l),则图像灰度值的联合分布密度可表示为
其中,a,b均为0到L一1之间的整量电平。
于是相应的二维直方图可表示为
P(a,b)=N(a,b)/M
其中,M为测量窗中像素总数,N(a,b)表示两事件f(i,j)=a,f(k,1)=b同时发生的事件数。
二是统计特性数特征,
(3)拓扑特征。
常用的拓扑特征有:
孔(洞):
如果在被封闭边缘包围的区域中不包含我们感兴趣的像素,则称此区域为图形的孔(洞),用字母H表示。
连接部分:
一个集合的连接部分就是它的最大子集,在此子集中,任何两点都可以用一条完全处于子集中的曲线加以连接,用字母C表示。
欧拉数:
图形中连接部分数和孔数之差,定义为欧拉数,用字母E表示,即E=C—H.
3.2二值图像边界提取
由于二值图像中所有像素只能从0到I这两个值中取,因此在MATLAB中,二值图像用一个由0和l组成的二维矩阵表示。
对于一些卫星图像,转换为二值图像进行提取边界非常方便。
这两个可取的值分别对应关闭和打开,关闭表征该卫星图像处于背景,打开表征该卫星图像处于前景,以这种方式来操作卫星图像可以更容易识别出卫星图像的结构特征。
例如,我们可以非常容易的从一幅卫星图像的背景中识别MATLAB对象。
对卫星图像Img4.jpg的二值化图像进行边界识别,用MATLAB语言编程如下:
%Examplel2.m
RGB=imread(’Img4.jpg');
I=rgb29ray(RGB);
12=im2bw(I);
%二值图像操作
figure,imshow(12)
14=bwpcrim(12);
%确定二值图像目标边界
figure,imshow(14)
程序运行结果如图3.1到3.2所示。
图3.1二值化图像图3.2beperim函数处理结果
通过处理结果,我们可以看出结论,把卫星图像变成二值图像以后,图像的边缘轮廓更加清晰可辨,更容易进行边界识别.
对于一幅经过预先处理的卫星图像来说,边缘检测和骨架的细化与提取的目的,已经不是在整幅图像中加强边缘信息,而是为了抽取边缘轮廓,从而对整个图像进行描述和解释,这种描述和解释都是基于特定的应用.比如,要绘制一幅应用于导弹制导所拍摄的卫星战区地图,由于导弹的飞行路线必须严格的按照地形地貌而制定,因此,必须经过详细的图像分析工作才能确保万无一失。
下面是运用MATLAB程序结合前面的章节的研究,我们还可以对卫星图像chn.jpg进行进一步分析处理,运行的结果如图3.3--图3.6
%Examplel3.m
H.color=[l11];
Figure(H),
echoon
%
RGB=imread(’chn.Jpg);
I=rgb2gray(RGB);
%装入原图像
X=double(I);
%调整图像数据值
X=(25/256)*X;
C=oapper(35);
set(gca,'colororder',C(21:
35,:
),’box’,’on’)
holdon
imcontour(X,3);
%画出3级轮廓图
n=size(X,1);
axis([1nln]),axis('ij’),axis('square’)
holdoff
figure(H),poolor(X)
axis([1n1n]),axis(’ij’),axis(’square’),shading(’flat’)
%画出伪彩色图,亮度与灰度大小成正比
D=-del2(X);
figure(H),pcolor(D)
colormap(coppcr)
axis([1n1n]),axis('ij'),axis('square’,shading(’flat’)
%进行laplacian差分,画出结果伪彩色图
%亮度与laplacian差分结果值的大小成正比
figure(H),surf(X,D);
colormap(copper)
axis([1nln]),axis('ij’),shading(’flat')
view(-20,75)
%画出3D表面图
Echooff
图3.3三级轮廓图
图3.4伪彩色图
图3.5Laplacian差分结果伪彩色图
图3.63D表面图
图3.3是卫星图像chn.jpg的3级轮廓图,与边缘检测相比,3级轮廓图能更直观的体现出图像的局部和整体之间的分布关系,地貌之间的分布关系变得清晰,更容易识别出图像中不同地形、地貌之间的分布情况,使总体和局部之间的分布更加明显。
我们不难看出,卫星图像经过前期处理后,再通过对图像的亮度进行调整,使结果图像亮度与原图像的灰度大小成正比。
得出的伪彩色图像,能进一步体现山脉、丘陵,峡谷、平原、海洋等地貌之间的局部与整体的关系,区分更明显。
而经过laplaeian差分后,再通过对差分结果图像的亮度进行调整,得出伪彩色图像如图3.5所示。
图3.6是图像的3D表面图,体现出的立体感更强。
4结论
本课题的目的是把军事卫星所拍摄的卫星数字图像进行适当处理以达到目视识别。
文中利用Matlab语言图像处理工具箱强大的图像处理功能,对军事卫星图像的处理技术进行了深入的理论探讨和研究,提出了运用统计模式识别的处理方法,基本实现了设计要求,为以后继续研究和开发奠定了基础。
通过研究得出结论如下:
(1)原始图像数据准备必须充分
原始图像数据准备即卫星图像信息的获取,它相当于对被研究对象的调查和了解,从中得到数据和材料。
对卫星图像处理来说,就是把图片等信息经系统输入设备数字化后输入计算机以备后续处理。
原始图像数据准备必须对图像进行数据质量检查。
在数据质量检查阶段,应对照片(主要是卫星照片)的有效性进行检查,如每张照片上被云覆盖的面积不应大于30%,不应有严重的噪声干扰等。
(2)图像预处理与分析中的关键
选择的样本数据必须进行预处理,预处理的目的是去除干扰、噪声及差异,将原始图像变成适合于计算机进行特征提取的形式。
在处理过程中应对图像进行辐射校正、几何校正和增强。
值得注意的是,由于噪声源众多(如光栅扫描、底片颗粒、机械元件、信道传输等),噪声种类复杂(如加性噪声、乘性噪声、量化噪声等),所以平滑方法也多种多样。
图像分析,包括边缘检测和图像特征提取。
它的作用在于把调查了解到的数据材料进行讯工、整理、分析、归纳以去伪存真,去粗取精,抽出能反映事物本质的特征。
从本质上来说,图像边缘是图像局部特性不连续性(灰度突变、颜色突变、纹理结构突变等)的反映,它标志着一个区域的终结和另一个区域的开始,因此,选取的检测方法非常重要。
而提取什么特征,保留多少特征与采用何种判决有很大关系。
(3)本文的主要应用
本文所提出的技术理论主要应用于精确判读识别出道路、森林、峡谷、河流、山川等地形、地貌、地物,绘制战区地图等军事侦察上。
下面是这个设计的整个代码:
A=imread('abc.jpg');%图像的读取
B=imshow(A);%显示图像A
[x,map]=imread('abc.jpg');%x是图像的数据矩阵,map是图像的颜色矩阵
image(x);
colormap(map);
C=size(x);%显示x矩阵的行数,列数,维数
D=image(x);%显示图像A
E=x(:
:
2);%显示想第二层二维矩阵(一般图像没rgb图像,第一层数据代表红的强度。
第二层代表绿的强度。
第三层代表蓝的强度)
F=imfinio('abc.jpg');%图像文件信息的查询
Example:
加噪声
I=imread('G:
\a.tif');
p=rgb2gray(I);%显示灰度图
J1=imnoise(p,'salt&pepper',0.04);
subplot(121),subimage(J1);title('加入盐椒噪声后的图像,密度D=0.04');
J2=imnoise(p,'gaussian',0,0.04);
subplot(122),subimage(J2);title('加入高斯噪声后的图像,M=0,V=0.04');
注:
gaussian高斯噪声
salt&petter盐椒噪声
speckle乘法噪声
Example:
滤波
1.Meanfilter
I=imread('coins.png');
h=ones(5,5)/25;%产生五行五列的1/25
I2=imfilter(I,h);
imshow(I),title('OriginalImage');
figure,imshow(I2);
title('FilteredImage');
2.Medianfilter
I=imread('G:
\a.tif');p=rgb2gray(I);
J1=imnoise(p,'salt&pepper',0.04);
subplot(221),subimage(J1);title('加入盐椒噪声后的图像,密度D=0.04');
J2=imnoise(p,'gaussian',0,0.04);
subplot(222),subimage(J2);title('加入高斯噪声后的图像,M=0,V=0.04');
J3=medfilt2(J1);
subplot(223),subimage(J3);title('加入盐椒噪声中值滤波后的图像');
J4=medfilt2(J2);
subplot(224),subimage(J4);title('加入高斯噪声中值滤波后的图像');
SpatialSharpeningfiltering
空间锐化滤波
Example:
第一个
I=imread('Waterlilies.jpg');
BW=rgb2gray(I);
BW2=edge(BW,'sobel',0.02,'both');
figure,imshow(BW2);
第二个
I=imread('bacteria.BMP');
BW1=edge(I,'prewitt',0.04)%0.04为梯度阈值
figure
(1);
imshow(I);
figure
(2);
imshow(BW1);
BasicoperationsofDigitalImage
processing
ex:
J=imcomplement(g);
imshow(J),
ex:
I=imread('circuit.tif');
J=imresize(I,1.25);%图像放大
imshow(I)
figure,imshow(J)
ex:
J=imresize(I,[100150],'bilinear');
imshow(I)
figure,imshow(J)
ex:
I=imread('pout.tif');
J=imrotate(I,35);%35代表35度
imshow(J)
ex:
I=imread('cameraman.tif');
T=maketform('affine',[cosd(45)-sind(45)0;sind(45)cosd(45)0;001]);
tformfwd([1020],T);
I2=imtransform(I,T);
imshow(I2)
Ex:
I=imread('cameraman.tif');
se=translate(strel
(1),[2525]);
J=imdilate(I,se)%图像扩大;
imshow(I),title('Original')
figure,imshow(J),title('Translated');
TranslateanimageUsingaffinetransformation
I=imread('cameraman.tif');
T=maketform('affine',[100;120;001]);
tformfwd([1020],T);
I2=imtransform(I,T);
imshow(I2)
FrequencyDomainFiltering
H=HPFILTER(TYPE,M,N,D0,n)
createsthetransferfunctionofahighpassfilter,H,ofthespecifiedTYPEandsize(M-by-N).
ValidvaluesforTYPE,D0,andnare:
'ideal'IdealhighpassfilterwithcutofffrequencyD0.n
neednotbesupplied.D0mustbepositive.
'btw'Butterworthhighpassfilte