数字图像课程设计.docx

上传人:b****8 文档编号:9038263 上传时间:2023-02-02 格式:DOCX 页数:17 大小:178.18KB
下载 相关 举报
数字图像课程设计.docx_第1页
第1页 / 共17页
数字图像课程设计.docx_第2页
第2页 / 共17页
数字图像课程设计.docx_第3页
第3页 / 共17页
数字图像课程设计.docx_第4页
第4页 / 共17页
数字图像课程设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数字图像课程设计.docx

《数字图像课程设计.docx》由会员分享,可在线阅读,更多相关《数字图像课程设计.docx(17页珍藏版)》请在冰豆网上搜索。

数字图像课程设计.docx

数字图像课程设计

摘要

图像是一种重要的信息源,通过图像处理可以帮助人们了解信息的内涵。

本文将纯净的图像加入高斯噪声,然后采用中值和均值滤波的方法对其进行去噪。

在图像处理中中值和均值滤波对滤除脉冲干扰噪声都很有效。

文章阐述了中值和均值滤波的原理、算法以及在图像处理中的应用。

图像增强不仅可以用于提高图像的视觉外观,而且还是图像边缘检测以及特征提取等技术的基础。

此文主要研究用于增强图像的灰度变换方法,包括线性灰度变换、非线性灰度变换与直方图均衡化方法。

采用MATLAB软件进行编程,运用上述算法对图像进行处理[5]。

实验结果表明,处理后的图像对比度得到了明显改善,增强了图像的视觉效果。

在以上算法中可以通过灵活设置相关参数获取不同的图像增强效果,并且具有处理速度快的优点。

数字图像处理技术是20世界60年代发展起来的一门新兴学科,随着图像处理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应用,并显示出广阔的应用前景。

MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。

它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具[4]。

根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或变成以完成各自的计算。

MATLAB中集成了功能强大的图像处理工具箱。

由于MATLAB语言的语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,而且这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以MATLAB在图像处理的应用中具有很大的优势[6]。

关键词:

均值滤波;MATLAB;直方图均衡化

目录

1课程设计目的1

2课程设计要求2

3设计方案3

3.1图像增强的重要方法简介3

3.2数字图像介绍3

3.3Matlab的简介3

3.3.1Matlab主要功能4

3.3.2Matlab优势4

3.4实验原理5

3.4.1灰度变换增强的原理5

3.4.2直方图变换增强原理5

3.5空间平滑滤波增强6

3.5.1均值滤波原理6

3.5.2均值滤波的实现算法6

3.6中值滤波的原理6

3.6.1中值滤波的实现算法7

4程序8

4.1灰度直方图的程序8

4.2灰度直方图均衡化程序8

4.3规定化程序代码8

4.4均值滤波程序10

4.5中值滤波程序10

5仿真结果12

5.1灰度直方图仿真结果12

5.2均值滤波仿真结果13

5.3中滤波仿真结果14

结论15

参考文献16

1课程设计目的

图像增强技术是不考虑图像降质的原因,只将图像中感兴趣的特征有选择地突出,而衰减其不需要的特征,故改善后的图像不一定要去逼近原图像。

如突出目标物轮廓,去除各类噪音,将黑白图像转变为伪彩色图像。

从图像质量评价观点来看,图像增强的主要目的是提高图像的可懂度,更有利于人的视觉感知。

在MATLAB的条件下研究图像空域的增强方法,研究图像灰度变换增强的三种方法,研究直方图变换增强的方法,知道直方图均衡化,以及直方图均衡化后反映的东西,了解空间平滑滤波增强的方法以及均值滤波,中值滤波变换后的图像。

 

2课程设计要求

本次课程设计是基于MATLAB空域增强方法的研究,利用MATLAB在图像处理方面的应用,实现图像空域增强。

具体的设计要求包括:

对知识点的掌握要求,深入理解空域图像增强方法的基本原理和基本的一些算法;

掌握均值滤波器和中值滤波器的设计;

利用MATLAB对图像进行各种处理如灰度直方图的均衡化,直方图规定化;

学会MATLAB的使用,掌握MATLAB的程序设计方法;

熟悉灰度变换增强的三种方法,并且能在MATLAB环境下得到变换后的图像;

熟悉MATLAB环境,并且会使用MATLAB环境。

3设计方案

3.1图像增强的重要方法简介

图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理、和彩色处理技术等。

图像增强有图像对比度增强、亮度增强,轮廓增强等等。

图像增强有两类方法:

空间域法和频率域法。

空间域法主要在空间域内对像素灰度值直接运算处理,如图像的灰度变换直方图修正图像空域平滑和蜕化处理。

频域法就是在图像的某种变化域内,对图像的变换值进行预算,如先对图像进行傅里叶变换,在进行滤波处理,最后将滤波处理后的图像变换值反变换到空间域,从而获得增强后的图像。

3.2数字图像介绍

数字图像处理技术是20世界60年代发展起来的一门新兴学科,随着图像处理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应用,并显示出广阔的应用前景。

MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。

它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具[2]。

根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或变成以完成各自的计算。

MATLAB中集成了功能强大的图像处理工具箱。

由于MATLAB语言的语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,而且这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以MATLAB在图像处理的应用中具有很大的优势。

MATLAB是一种以矩阵运算为基础的交互式程序语言,能够满足科学、工程计算和绘图的要求,与其它计算机语言相比,其特点是简洁和智能化,适应科技专业人员的思维方式和书写习惯,使得编程和调试效率大大提高。

我们学习掌握MATLAB,也可以说是在科学工具上与国际接轨。

3.3Matlab的简介

MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。

目前,已成为工程领域中较常用的软件工具包之一。

3.3.1Matlab主要功能

它是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

使用它,可以较使用传统的编程语言,如C、C++等,更快的解决技术计算问题。

高级语言可用于技术计算;开发环境可对代码、文件和数据进行管理;数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等;二维和三维图形函数可用于可视化数据;各种工具可用于构建自定义的图形用户界面;各种函数可将基于matlab的算法与外部应用程序和语言;其应用范围非常广,包括信号和图像处理、通迅、控制系统设计、测试和测量等众多应用领域。

3.3.2Matlab优势

MATLAB由一系列工具组成。

这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。

包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。

而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

Matlab一个高级的矩阵语言,它包含控制语句、函数、数据结构、输入和输出

和面向对象编程特点。

用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单。

使之更利于非计算机专业的科技人员使用。

而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

3.4实验原理

3.4.1灰度变换增强的原理

某些情况下,需要对图像的灰度级整个范围或者其中的某一段扩展或压缩到记录器件输入灰度级动态范围之内。

灰度变换可分为线性变换、分段线性变换、非线性变换和其他的灰度变换。

线性变换

灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。

具体实现形式为:

g(x,y)=(d-c)/(b-a)[f(x,y)-a]+c

作用:

使曝光不充分图像中黑的更黑,白得更白,从而提高图像对比度

分段线性变换

具体实现形式:

g(x,y)=c/df(x,y)0<=f(x,y)<=a

g(x,y)=(d-c)/(b-a)[f(x,y)-a]+ca<=f(x,y)<=b

g(x,y)=(f-b)/(e-a)[f(x,y)-b]+db<=f(x,y)<=c

非线性变换

具体实现形式:

g(x,y)=a+ln[f(x,y)+1]/b*ln

3.4.2直方图变换增强原理

常用的图像一般是灰度图,这时f表示灰度值,反映了图像上对应点的亮度。

亮度是观察者对所看到的物体表面反射光强的量度。

作为图像灰度的量度函数

应大于零。

人们日常看到的图像一般是从目标上反射出来的光组成的,所以

可看成由两部分构成:

入射到可见场景上光的量;场景中目标对反射光反射的比率。

确切地说它们分别称为照度成分

和反射成分

都成正比,可表示成

×

灰度直方图

灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。

灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。

3.5空间平滑滤波增强

3.5.1均值滤波原理

均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。

再用模板中的全体像素的平均值来代替原来像素值。

均值滤波也称为线性滤波,其采用的主要方法为领域平均法。

线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度值u(x,y),即u(x,y)=1/m∑f(x,y)①m为该模板中包含当前像素在内的像素总个数。

3.5.2均值滤波的实现算法

用邻域平均法,其模板为:

 

3*3,5*5或7*7我们只做3*3

3.6中值滤波的原理

中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值。

中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。

在数字信号处理一维信号中,方法是用某种结构的一维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为一维数据序列。

一维中值滤波输出为g(x)=med{f(x-k),(k,∈W)},其中,f(x),g(x)分别为原始信号和处理后信号。

3.6.1中值滤波的实现算法

通过从图像中的某个采样窗口取出奇数个数据进行排序;用排序后的中值取代要处理的数据即可。

中值滤波法对消除椒盐噪音非常有效,在光学测量条纹图像的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大。

中值滤波在图像处理中,常用于用来保护边缘信息,是经典的平滑噪声的方法。

中值滤波在如今的数字信号处理和数字图像处理中都是应用比较普遍的方法。

设有一个一维序列(f1,f2,f3,……,fn)。

取窗口长度为M(M为奇数),对此一维信号进行中值滤就是从输入序列中相继抽出M的个数(fi-v,…,fi-1,fi,fi+1,…,fi+v),其中fi为窗口的中心点值,v=(M-1)/2。

再将这M个点的值按其数值大小排序,取其序号为正中间那个数作为滤波输出。

中值滤波的窗口形状和尺寸设计对滤波效果影响很大。

不同的图像要求和不同的应用要求,往往采用不同的窗口形状和尺寸。

 

4程序

4.1灰度直方图的程序

%灰度直方图

I=imread('F:

\gg\hh.jpg’);%读取图像

subplot(2,1,1);

Imshow(I);%显示图像

title('(a)原图');

subplot(2,1,2);

imhist(I);%绘制图像的灰度直方图

title('(b)原图的灰度直方图');

4.2灰度直方图均衡化程序

J=histeq(I,64);%对图像进行均衡化处理,返回有64级灰度的图像J

Imshow(J);%显示图像

title('原图直方图均衡化');

subplot(2,2,4);

imhist(J);%绘制图像的灰度直方图

title('均衡后的灰度直方图')

4.3规定化程序代码

I=imread('F:

\gg\hh.jpg’);

subplot(121)

imshow(I);

title('原始图像');

subplot(122)

imhist(I,64)

%绘制图像的直方图,n=64为灰度图像灰度级,若I为灰度图像,默认n=256;

若I为二值图像,默认n=2。

title('图像的直方图');

n=256时:

下面利用直方图均衡化增强图像的对比度:

I=imread('F:

\gg\hh.jpg

');

J=histeq(I);

%将灰度图像转换成具有64(默认)个离散灰度级的灰度图像

imshow(I)

title('原始图像')

figure,imshow(J)

title('直方图均衡化后的图像')

figure

(1)

subplot(121);imhist(I,64)

title('原始图像的直方图')

subplot(122);imhist(J,64)

title('均衡化的直方图')

分析:

从上图中可以看出,用直方图均衡化后,图像的直方图的灰度间隔被拉大了,均衡化的图像的一些细节显示了出来,这有利于图像的分析和识别。

直方图均衡化就是通过变换函数histeq将原图的直方图调整为具有“平坦”倾向的直方图,然后用均衡直方图校正图像。

直方图规定化对图像进行增强的程序

I=imread('cameraman.tif');

figure,imshow(I);

title('原始图像');

hgram=50:

2:

250;%规定化函数

J=histeq(I,hgram);

figure,imshow(J);

title('直方图规定化后的图像');

figure,imhist(I,64);

title('原始图像的直方图');

figure,imhist(J,64);

title('直方图规定化后的直方图');

4.4均值滤波程序

I=imread('aa.jpg','jpg');

J=imnoise(I,'gaussian',0.005);%添加高斯噪声

subplot(2,3,1);imshow(I);

title('原始图像');

subplot(2,3,2);imshow(J);

title('加入高斯噪声后的图像');

K1=filter2(fspecial('average',3),I)/255;%3*3均值滤波

K2=filter2(fspecial('average',7),I)/255;%7*7均值滤波

K3=filter2(fspecial('average',15),I)/255;

K4=filter2(fspecial('average',25),I)/255;

subplot(2,3,3);imshow(K1);

title('3*3均值滤波');

subplot(2,3,4);imshow(K2);

title('7*7均值滤波');

subplot(2,3,5);imshow(K3);

title('15*15均值滤波');

subplot(2,3,6);imshow(K4);

title('25*25均值滤波');

4.5中值滤波程序

I=imread('bb.jpg');

J=imnoise(I,'salt&pepper',0.02);%添加椒盐噪声

subplot(2,3,1);imshow(I);

title('原始图像');

subplot(2,3,2);imshow(J);

title('添加椒盐噪声图像');

K1=medfilt2(J,[5,5]);%5*5中值滤波

K2=medfilt2(J,[7,7]);%7*7中值滤波

K3=medfilt2(J,[9,9]);

subplot(2,3,3);imshow(K1);

title('5*5中值滤波');

subplot(2,3,4);imshow(K2);

title('7*7中值滤波');

subplot(2,3,5);imshow(K3);

title('9*9中值滤波');

 

5仿真结果

5.1灰度直方图仿真结果

图5.1灰度直方图仿真结果图5.2直方图均衡化结果

 

5.2均值滤波仿真结果

图5.3均值滤波仿真结果

结果分析:

用邻域平均法处理有利地抑制了噪声,同时也引起了模糊,模糊程度与邻域半径成正比。

对相同类型的平滑滤波器,滤波器尺寸越大,噪声滤除效果越好,但细节模糊效应也越强。

 

5.3中滤波仿真结果

图5.4中值滤波仿真结果

结果分析:

中值滤波在去除噪声的同时,能更好地保持图像的细节。

 

 

结论

数字信号处理是一门很实用、很有价值的一门课程。

通过本次课程设计,我们对均值滤波和中值滤波有了一定的了解,对Matlab软件的使用更加熟练,对课本上的知识有了近一步的掌握,也深刻明白了自己的不足。

完成本次课程设计的过程,是一个从无到有,经历了兴奋、自信、失落、奋发、所悟、完成几个过程。

刚开始做课程设计时,仔细阅读课程设计的题目及要求,以为没有什么困难的,所用的知识书本上都有。

可是当我们动手开始做的时候,才发现其中的算法,设计是那么的繁琐。

经过一天的努力,毫无结果。

失落的心情油然而生。

于是,再到图书馆和网上查找资料,在经过借鉴很多类似的资料、文献后,总算有点眉目了。

埋头苦干是痛苦的,尤其在思考算法和程序框架的时候,迷茫,烦躁,特别是当苦思一个结果,又被自己推翻,心痛的无法言绘。

在此次课程设计中,我们体会到了合作的愉快,我们一起讨论、研究、精益求精、不断完善程序,终于通过我们的努力把这个课程设计做好了,这种喜悦之情油然而生。

将近四个星期的课程设计很快结束了,其中酸甜苦辣都尝到了,在这过程中我们遇到问题及时通过网络查找资料,虽然很累,但感觉很充实,很有收获,尤其是最后看到自己设计的程序成功运行后那种感觉无法用语言来描叙,感觉所有的付出都得到了回报,是那么的理所当然又是那么的出人意料。

这样的课程设计真的很有意义,感觉自己学会了很多,成长了很多,让我们找回了往日奋斗的激情。

我们会深深的记住这次经历,记住这次饱含我们汗水的综合课程设计。

这次也发现了自身很多的不足,许多的Matlab的函数都不是很熟悉,在编程的时候就不停的找以前的教材,以后还得多看看资料,牢记一些基本语法和函数。

最后在这里忠心的感谢老师安排了这次信息处理实践,感谢指导老师的指导与教诲。

 

参考文献

[1]孙学军等.通信原理[M].电子工业出版社,2001:

78-104.

[2]曹志刚等.现代通信原理[M].清华大学出版社,2008:

66-89.

[3]葛哲学.精通MATLAB[M].电子工业出版社,2008:

2-8.

[4]张圣勤.MATLAB7.0实用教程[M].机器工业出版社,2006:

90-118.

[5]樊昌信,曹丽娜.通信原理[M].国防工业出版社,2008:

132-158.

[6]苗云长.现代通信原理及应用[M].电子工业出版社,2005:

30-40.

[7]张传生.数字通信原理[M].西安交通大学出版社,2001:

55-60.

[8]阮沈勇.MATLAB程序设计[M].电子工业出版社,2004:

70-85.

[9]约翰.G.普罗克斯,马苏德.萨勒赫著.刘树棠译.现在通信系统—使用MATLAB[M].西安交通大学出版社,2001:

55-65.

[10]罗新民,张传生,薛少丽.现代通信原理[M].高等教育出版社,2003:

65-78.

[11]徐明远,邵玉斌.仿真在通信原理与电子工程中的应用[M].西安电子科技大学出版社,2005:

45-56.

[12]邓华.MATLAB通信仿真及应用实例详解[M].北京:

人民邮电出版社,2003:

72-85.

[13]张葛祥,李娜.MATLAB仿真技术与应用[M].北京:

清华大学出版社,2003:

56-89.

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

当前位置:首页 > 外语学习 > 其它语言学习

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

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