matlab课程设计 武汉理工 图像处理.docx
- 文档编号:14456923
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:28
- 大小:26.73KB
matlab课程设计 武汉理工 图像处理.docx
《matlab课程设计 武汉理工 图像处理.docx》由会员分享,可在线阅读,更多相关《matlab课程设计 武汉理工 图像处理.docx(28页珍藏版)》请在冰点文库上搜索。
matlab课程设计武汉理工图像处理
课程设计任务书
学生姓名:
喻珩专业班级:
信息sy0801班
指导教师:
艾青松工作单位:
信息工程学院
题目:
基于MATLAB的图像处理的基本运算
初始条件:
(1使用matlab软件进行操作
(2选择一个图像进行处理
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体
要求
(1能够对图像亮度和对比度变化调整,并比较结果
(2编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行
放大和缩小整数倍的和旋转操作,并保存,比较几种插值的效果
(3图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的
效果。
(4对图像加入各种噪声,比较效果。
时间安排:
第1周:
安排任务,布置题目;
第2—17周:
设计仿真,撰写报告
第18周:
完成设计,提交报告,答辩
指导教师签名:
年月日
系主任(或责任教师签名:
年月日
摘要..........................................................................................................................................................IAbstract.................................................................................................................................................II1.MATLAB简介.(1
1.1MATLAB用途(1
1.2MATLAB的语言特点(2
1.3MATLAB系统构成(2
2图像选择及变换(2
2.1原始图像选择读取(2
2.2转换图像为灰阶图像(5
3图像处理及代码程序(6
3.1图像亮度对比度调整(6
3.1.1函数说明及参数选择(6
3.1.2源程序及运行结果(6
3.2图像放大和缩小(7
3.2.1函数说明及参数选择(7
3.2.2源程序及运行结果(7
3.3图像任意角度的旋转(8
3.3.1函数说明及参数旋转(8
3.3.2源程序及运行结果(8
3.4图像直方图统计和均衡(9
3.4.1函数说明及参数选择(9
3.4.2源程序及运行结果(9
3.5图像加入噪声(11
3.5.1函数说明及参数选择(11
3.5.2源程序及运行结果(11
4图像处理结果比较分析(13
4.1调整对比度和亮度后图像比较(13
4.2图像放大缩小及旋转后比较(14
4.3进行直方图均衡后图像比较(14
4.4加入各种噪声后图像比较(16
5感悟体会小结(17
参考文献(18
附录(19
全部源程序代码:
(19
摘要
MATLAB是—套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成—个方便的、界面友好的用户环境。
MATLAB强大的扩展功能为各个领域的应用提供了基础,由各个领域的专家相继给出了MATLAB工具箱,其中主要有信号处理,控制系统,神经网络,图像处助,鲁棒控制,非线性系统控制设计,最优化,小波,通信等工具箱,这此工具箱给各个领域的研究和工程应用提供了有力的工具。
借助于这些“巨人肩膀上的工具”,各个层次的研究人员可直现方便地进行分析、计算及设计工作,从而大大地节省了时间。
本次课程设计的目的在于较全面了解常用的数据分析与处理原理及方法,能够运用相关软件进行模拟分析。
通过对采集的图像进行常规的图像的亮度和对比度的调整,并进行最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的和旋转操作,并保存,比较几种插值的效果,以及对图像进行直方图和直方图均衡并加入噪声进行对比,达到本次课程设计的目的关键词:
MATLAB亮度和对比度插值放大旋转噪声
I
Abstract
MATLABis-setofhigh-performancenumericalcomputationandvisualizationsoftware,whichcombinesnumericalanalysis,matrixcomputation,signalprocessingandgraphicsinoneform-aconvenient,user-friendlyuserenvironment.MATLABisapowerfulextensionapplicationinvariousfieldstoprovideabasisbyexpertsinvariousfieldshavebeengivenaMATLABtoolbox,whicharesignalprocessing,controlsystems,neuralnetworks,imageprocessingsupport,robustcontrol,nonlinearcontrolsystemdesign,optimization,wavelets,communicationstoolkit,whichthiskittothevariousareasofresearchandengineeringapplicationsapowerfultool.Withthese"toolsontheshouldersofgiants,"researchersatalllevelscannowbeeasilyanalyzeddirectly,calculationanddesignwork,whichgreatlysavestime.
Thetrainingaimstostrengthenthebasisofamorecomprehensiveunderstandingofcommonlyuseddataanalysisandprocessingprinciplesandmethodsrelatedtotheuseofsimulationsoftware.Imagescollectedbyconventionalimagebrightnessandcontrastadjustments,andthenearestneighborinterpolationandbilinearinterpolationalgorithmtotheuserselectedimageareatozoominandoutseveraltimesandrotatethewholeoperation,andsave,comparetheeffectofseveralinterpolationandtheimagehistogramandhistogramandcomparedwithnoise,tothepurposeofthiscoursedesign.
Keywords:
MATLABbrightnessandcontrastrotationinterpolationnoiseamplification
II
11.MATLAB简介
1.1MATLAB用途
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如
C、Fortran的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
如图matlab操作界面如下1.1.1所示:
图1.1.1matlab操作界面
1.2MATLAB的语言特点
(1语言简洁紧凑,使用方便灵活,库函数极其丰富。
运算符丰富。
(2.MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句,又有面向对象编程的特性。
(3程序限制不严格,程序设计自由度大。
(4MATLAB的图形功能强大。
(5MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。
(6由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
1.3MATLAB系统构成
主要由以下五部分构成:
MATLAB系统构成
(1MATLAB语言
(2MATLAB工作环境
(3图形处理
(4MATLAB数学函数库
(5MATLAB应用编程人员接口(API
2图像选择及变换
2.1原始图像选择读取
图像选择方面,只是随便的选择了一个图片,原始图片如下图2.1.1:
图2.1.1选择原始图片
MATLAB为用户提供了专门的函数以从图像格式的文件中读写图像数据。
这次采用的是imread函数来实现图像文件的读取操作,采用的格式如下:
A=imread(‘filename.fmt’
该语句用于读取字符串“filename”对应的灰度图像或彩色图像,“fmt”指定了文件的格式。
采用imfinfo函数查询图像文件的信息。
其语句格式如下:
Info=imfinfo(‘filename.fmt’
该语句可以在命令窗口会显示出文件的基本信息。
采用imshow函数进行图像的显示,采用的格式如下:
A=imread(‘filename.fmt’;imshow(A;
当这种显示方式要求被显示的图像要么在当前目录下或MATLAB的目录下。
采用rgb2gray函数进行真彩色图像与灰阶强度图像的转变其格式调用如下:
A=rgb2gry(‘filename.fmt’;得到的图像可以进行统计与处理,能完成要求。
图像读入与显示和变化的源代码如下:
%第一步,获取图像,并显示各种基本信息
clear;
closeall;
RGB=imread('E:
/dota670.jpg';%RGB:
原始图像,真彩色;Info=imfinfo('E:
/dota670.jpg'
figure
imshow(RGB
title('原始图像'程序运行结果如下图2.1.2所示:
图2.1.2读取后显示图片
命令窗口中,显示如下:
Info=
Filename:
'E:
/dota670.jpg'
FileModDate:
'08-一月-201122:
00:
58'
FileSize:
47709
Format:
'jpg'
FormatVersion:
''
Width:
500
Height:
371
BitDepth:
24
ColorType:
'truecolor'
FormatSignature:
''
NumberOfSamples:
3
CodingMethod:
'Huffman'
CodingProcess:
'Sequential'
Comment:
{}
Orientation:
1
Software:
'ACDSystemsDigitalImaging'
DateTime:
'2010:
12:
2817:
58:
11'
YCbCrPositioning:
'Centered'
DigitalCamera:
[1x1struct]
2.2转换图像为灰阶图像
在后期的处理中,有部分程序需要用到灰阶图片,因此提前将图片进行转换,得到灰阶图片。
采用rgb2gray函数进行真彩色图像与灰阶强度图像的转变其格式调用如下:
A=rgb2gry(‘filename.fmt’;
得到的图像可以进行统计与处理。
程序源代码如下:
I=rgb2gray(RGB;%I:
灰阶图像
figure
imshow(I
title('灰阶图像'
程序运行结果如下图2.2.1所示:
图2.2.1灰阶图片
3图像处理及代码程序
3.1图像亮度对比度调整
3.1.1函数说明及参数选择
对比度和亮度调节采用的是imadjust函数,其调用格式如下:
RGB2=imadjust(RGB1,...
3.1.2源程序及运行结果
源程序如下:
RGB1=imadjust(RGB,[.2.30;.6.71],[];
figure
imshow(RGB1
title('彩图对比度亮度调整'
运行结果如图3.1.1所示:
图3.1.1对比度和亮度调节
3.2图像放大和缩小
3.2.1函数说明及参数选择
采用imresize函数,其调用格式如下:
B=imresize(A,[mrowsncols],method
对于参数的选择,mrowsncols是选择放大或缩小的倍数,method是选择才用最邻近插入法还是双三次插入法,参数分别为:
nearest、bilinear
3.2.2源程序及运行结果
源程序如下所示:
X=imresize(RGB,0.5,'nearest';
figure
imshow(X
title('最邻近插入法'
Y=imresize(RGB,2,'bilinear';
figure
imshow(Y
title('双三次插入法'
程序运行结果如图3.2.1、3.2.2所示:
3.2.1最邻近插入法缩小一半
3.2.2最邻近插入法,放大一倍
3.3图像任意角度的旋转
3.3.1函数说明及参数旋转
函数使用的是imrotate函数,其调用格式如下所示:
B=imrotate(A,angle,method,bbox
期中参数method是选择才用最邻近插入法还是双三次插入法,参数分别为:
nearest、bilinear
旋转后的图像重新保存为一个图像文件,使用imwrite函数,其调用格式如下:
imwrite(BW,'test.tif'
3.3.2源程序及运行结果
源程序如下:
B=imrotate(RGB,90,'nearest','crop';
figure
imshow(B
title('图像角度旋转'
imwrite(B,’text.tif’
程序的运行结果下图3.3.1所示:
图3.3.1进行图像的任意角度旋转
3.4图像直方图统计和均衡
3.4.1函数说明及参数选择
由于图像的直方图统计只能处理灰阶图像,因此,要使用之前转换好了的灰阶图像进行处理,使用imhist函数画直方图,使用histeq函数进行直方图的均衡,再显示各个图像。
函数调用形式如下:
imhist(I
H=histeq(I;
imhist(H
3.4.2源程序及运行结果
figure
imhist(I
title('直方图'
figure
H=histeq(I;
imshow(H
title('直方图均衡处理图片'
figure
imhist(H
title('直方图均衡'
运行结果如下图3.4.1、.、3.4.2、3.4.3所示:
图3.4.1原始图像直方图
图3.4.2经过直方图均衡后的图像
图3.4.3均衡后的直方图
3.5图像加入噪声
3.5.1函数说明及参数选择
函数使用imnoise函数进行图片的噪声加入,其调用格式如下:
J=imnoise(I,type,parameters
期中,type是噪声的类型,由高斯噪声,椒盐噪声,乘性噪声。
类型名分别是:
gaussian、salt&pepper、speckle。
3.5.2源程序及运行结果
%第六步加入噪声
E=imnoise(RGB,'gaussian',0,0.05;
figure
imshow(E
title('加高斯噪声'
F=imnoise(RGB,'salt&pepper',0.05;
figure
imshow(F
title('加椒盐噪声'
G=imnoise(RGB,'speckle',0.05;
figure
imshow(G
title('加乘性噪声'
程序结果如下图3.5.1、3.5.2、3.5.3、所示:
图3.5.1加入高斯
图3.5.2加入椒盐噪声后的图片
图3.5.3加入乘性噪声后图片
4图像处理结果比较分析
4.1调整对比度和亮度后图像比较
如图4.1.1所示,在对比度和亮度调节设置后,图片显示如下:
图4.1.1原始图像与对比度变化后比较
在函数imadjust中,调节“RGB1=imadjust(RGB,[.2.30;.6.71],[];”中的[]中的值可以改变对比度。
当使范围变化时,可以得到如下图像。
4.2图像放大缩小及旋转后比较
使用双线性插值法和最邻近插值法,分别对图像进行放大缩小,对比结果如下图4.2.1所示:
图4.2.1图像的放大缩小和旋转
4.3进行直方图均衡后图像比较
对原始图片的直方图和直方图均衡后的结果进行比较,如下图4.3.1所示:
图4.3.1原始图像直方图和直方图均衡后结果观察原始图片与直方图均衡后的结果如下图4.3.2所示:
图4.3.2直方图均衡图片和原始图片比较
4.4加入各种噪声后图像比较
为各种图片加入噪声,和原始图片进行比较如下图4.4.1所示:
图4.4.1加入各种噪声和原始图片比较
5感悟体会小结这次课程设计让自己更深的了解了MATLAB的程序设计及图像处理的内容,在这次设计中,学习到了很多的东西和知识,并且积累了大量的宝贵经验,归结如下:
1.更全面的认识了MATLAB这个软件,并且能够熟练的使用MATLAB的基本功能,掌握了MATLAB的程序设计的基本方式方法和步骤。
特别对MATLAB的帮助功能2.学习了图像的处理的各项基本函数的使用,有了很深刻的了解,能够独立的完成函数的编写及功能的实现,再也不是什么函数都需要使用网络来询问,学习了图像噪声的使用,让我对专业知识有了更深的了解,对我以后的学习很有方向性。
3.在程序设计中,特别是对各个函数的使用中,看英文资料成为了必须的,这让我大量的接触了专业英语,是一个很意外的收获。
让我能够接触更广阔的知识,使我以后的学习更加的有效开阔。
当然,网络上找资源也是这次实验课设的宝贵收获,在这次课程设计中,我大量运用了网络资源,积极的注册技术论坛,学到了很多知识。
使我十分的受益。
不过,通过这次课程设计,也让我认识到了很多的不足,让我知道了自己知识的浅薄和要学习的东西还很多很多,还需要我继续的努力。
17
参考文献1.《MATLAB语言及其在电子信息工程中的应用》王洪元主编清华大学出版社2.《MATLAB在数字图像处理中的应用》机械工业出版社3.《精通MATLAB7》王正林,刘明编著,北京-电子工业出版社4.《MATLAB从入门到精通》周建兴编著,人民邮电出版社5.《精通MATLAB图像处理》张强,王正林,电子工业出版社6.《详解MATLAB数字图像处理》张德丰电子工业出版社18
附录全部源程序代码:
全部源程序代码:
%matlab课程设计%第一步,获取图像,并显示各种基本信息clear;closeall;RGB=imread('myclasspicture.jpg';%RGB:
原始图像,真彩色;Info=imfinfo('myclasspicture.jpg'figureimshow(RGBtitle('原始图像'%第二步将真彩色图转换为灰阶图,进行直方图绘制I=rgb2gray(RGB;%I:
灰阶图像figureimshow(Ititle('灰阶图像'figureimhist(Ititle('直方图'%第三步调整图像的亮度和对比度J=imadjust(I;%调整对比度figure,imshow(J;title('对比度亮度调整'RGB1=imadjust(RGB,[.2.30;.6.71],[];figureimshow(RGB1title('彩图对比度亮度调整'%第四步直方图均衡figureH=histeq(I;imshow(Htitle('直方图均衡处理图片'figureimhist(Htitle('直方图均衡'%第五步邻近插入法和双线性插入法进行放大缩小。
19
X=imresize(RGB,0.2,'nearest';figureimshow(Xtitle('最邻近插入法'Y=imresize(RGB,3,'bicubic';figureimshow(Ytitle('双三次插入法'%第五步任意角度旋转B=imrotate(RGB,90,'nearest','crop';figureimshow(Btitle('图像角度旋转'imwrite(B,'test.jpg'%第六步加入噪声E=imnoise(RGB,'gaussian',0,0.05;figureimshow(Etitle('加高斯噪声'F=imnoise(RGB,'salt&pepper',0.05;figureimshow(Ftitle('加椒盐噪声'G=imnoise(RGB,'speckle',0.05;figureimshow(Gtitle('加乘性噪声'20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab课程设计 武汉理工 图像处理 matlab 课程设计 图像 处理