matlab课程设计 5.docx
- 文档编号:7503150
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:17
- 大小:292.92KB
matlab课程设计 5.docx
《matlab课程设计 5.docx》由会员分享,可在线阅读,更多相关《matlab课程设计 5.docx(17页珍藏版)》请在冰豆网上搜索。
matlab课程设计5
课程设计任务书
学生姓名:
专业班级:
指导教师:
刘新华工作单位:
信息工程学院
题目:
MATLAB课程设计
要求完成的主要任务:
1.在数字信号处理平台上(PC机﹑MATLAB仿真软件系统)进行软件仿真设计,并进行调试和数据分析。
2.利用MATLAB仿真软件系统进行图像的数据分析。
课程设计的目的:
1.理论目的
课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。
2.实践目的
课程设计的目的之二是通过利用MATLAB仿真软件系统进行图像的数据分析的基本步骤。
时间安排:
序
号
阶段内容
所需时间
1
方案设计
2天
2
软件设计
3天
3
系统调试
3天
4
答辩
1天
合计
9天
指导教师签名:
年月日
系主任(或责任教师)签字:
年月日
目录
摘要I
AbstractII
1.引言 1
1.1 MATLAB产生的历史背景1
1.2 MATLAB的语言特点和开发环境2
1.3 MATLAB应用领域 3
2.图像概述 4
3.数据采集 5
3.1图像的读取 5
3.2图像的显示6
4.图像数据统计处理 9
4.1图像数据处理原理 9
4.2各个像素点中最大值 10
4.3各个像素点中最小值 11
4.4各个像素点值的均值11
4.5各个像素点值的中值 12
4.6各个像素点值的和12
4.7各个像素点值的标准差 13
4.8两个图中各像素点值的协方差13
4.9两个图的相对系数 14
5.心得体会15
参考书籍16
附件17
摘要
数字图形图像处理是指采用计算机处理图形图像的技术。
近些年随着计算机与信息技术的高速发展数字图处理技术也得到了快速发展已成为计算机科学、医学、生物学、信息科学等领域各学科之间学习和研究的对象。
成为学术界的研究热门。
MATLAB是目前国内外广泛流行的数字计算软件。
其具有较强的图像处理功能,操作直观,简洁,同时又是一个较好的图像处理系统的开发工具。
近些年得到了很大的发展,已经广泛应用于科学计算和工程计算领域。
本文基于MATLAB的数字图像处理环境, 利用MATLAB软件进行图像的数据分析,包括读取图像并求出图像的最大值、最小值、均值、中值、和、标准差、两图像的协方差、相关系数等。
关键字:
MATLAB,数字信号处理,图像数据分析
Abstract
Digitalgraphicsimageprocessingtechnologyreferstotheuseofcomputergraphicsimages.Inrecentyears,withtherapiddevelopmentofcomputerandinformationtechnologydigitalprocessingtechniqueshavealsobeendevelopedrapidlyintocomputerscience,medicine,biology,informationbetweenthevariousdisciplinesinthefieldofscientificstudyandresearch.Academicstudyontop.Thenumber-crunchingsoftwareMATLABiswidelypopularathomeandabroad.Itshasastrongimageprocessingfunctions,easy,simple,butitisalsoagoodimageprocessingsystemdevelopmenttools.Greatdevelopmentinrecentyears,hasbeenwidelyusedinthefieldofscientificandengineeringcalculations.ThisdigitalimageprocessingbasedonMATLABenvironment,useofMATLABsoftwareforimageanalysisofdata,includingreadingtheimageandfindtheimage'smaximumvalue,minimumvalue,value,value,and,instandarddeviation,covariance,correlationcoefficient,andothertwoimages.
Keywords:
MATLAB,digitalsignalprocessing,imagedataanalysis
1.引言
1.1 MATLAB产生的历史背景
MATLAB是美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。
它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值计算的领域得到了广泛应用。
它不仅是一个在各类工程设计中便于使用的运算工具,而且也是一个在数学、数值分析和工程计算等课程教学中的优秀的教学工具,在世界各地的高等院校中十分流行,在各类工业应用中更有不俗的表现。
MATLAB可以在几乎所有的PC机和大型计算机上运行,适用于Windows、UNIX等多种系统平台。
MATLAB名称是由两个英文单词Ma~ix和Laboratory的前二个字母组成。
20世纪70年代后期,美国新墨西哥大学计算机系主任Cleve.Moler教授为了便于教学,减轻学生编写Fortran程序的负担,为两个矩阵运算软件包Linpack和Eispack编写了接口程序,这也许就算MATLAB的第一个版本。
1984年,在JackLittle(也称JohnLittle)的建议推动下,由Little、Moler、SteveBangert三人合作,成立rMathWorks公司,同时把MATLAB正式推向市场。
从那时开始,MATLAB的源代码采用C语言编写,增加了数据图形的可视化功能。
1993年,MathWorks公司推出了MATLAB的4.0版本,系统平台由DOS改为Windows,推出了功能强大的、可视化的、交互环境的用于模拟非线性动态系统的工具Simulink,为MATLAB进行实时数据分析、处理和硬件开发而推出了与外部直接进行数据交换的组件,为MATLAB能融科学计算、图形可视、文字处理于一体而制作了Notebook,MathWorks使MATLAB成为国际控制界公认的标准计算软件。
MATLAB拥有了更丰富的数据类型和结构,更好的面向对象的快速精美的图形界面,更多的数学和数据分析资源,MATLAB工具也达到了25个,几乎涵盖了整个科学技术运算领域。
在大部分大学里,应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教材都把MATLAB作为必不可少的内容。
1.2 MATLAB的语言特点和开发环境
MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担。
被称为第四代编程语言的MATLAB最大的特点就是简洁开放的程序代码和直观实用的开发环境。
具体地说MATLAB主要有以下特点:
(1)库函数资源丰富:
数百种库函数大大减轻了用户子程序的编写工作量,也避免了一些不必要的错误,因而用户也不必担心程序的可靠性问题。
(2)语言精炼,代码灵活:
MATLAB的编程语言符合人们的思维习惯,对代码的书写也没有特别严格的控制,语言精炼,程序的亢余度非常小。
(3)运算符多而灵活:
MATLAB的内核是用c语言编写的,它为用户提供了和C语言一样多的运算符,用户运用这些运算符可以使程序更加简炼。
(4)面向对象,控制功能优良:
MATLAB在5.x各版本中优化了数据结构,使得程序的结构化控制更精良,面向对象的功能更加友善。
特别是当前的7.0版,在可视化编程方面比以前的版本又有了更大的提高,使界面编程更方便、自由。
(5)程序设计自由:
MATLAB7.0版支持长变量名达到63个字符,用户可以不对矩阵进行预定义就使用,变量和数组的应用也有了很大的扩展,这为用户编写程序提供了更大的自由度,使编程更加简单、方便。
(6)图形功能强大:
在很多程序语言中,绘制图形是一件很麻烦的事情。
但在MATLAB中,只需调用相应的绘图函数即可,既方便又迅速。
随着硬件的发展和MATLAB7.0推出,MATLAB的图形功能更好,可视化编程能力得到更进一步的提高。
(7)程序的兼容性好:
MATLAB可以在各种PC机、大型计算机和各种操作系统上运行。
(8)源代码开放:
MATLAB的最重要的特点是源代码的开放性,除了内部函数,所有的MATLAB核心文件和工具箱文件都完全开放,都可渎可改。
用户对源文件修改就可以生成适合自己的源代码文件。
(9)形形色色的工具箱:
凡有工具箱的软件大都分为两大部分,就是核心部分和形形色色的工具箱。
MATLAB有数百个核心内部函数,数十个形形色色的工具箱。
工具箱大致可以分为两大类,——类是学科性工具箱,另一类是功能性工具箱。
学科性工具箱大都涵盖了本学科所有的已有的基本概念和基本运算,大都十分专业。
如符号数学工具箱,简直就是一个高等数学、工程数学解题器。
极限、导数、微分、积分、级数运算与展开、微分方程求解、Laplace变换等应有尽有。
还有控制系统、信号处理、模糊逻辑、神经网络、小波分析、统计;优化、金融预测等工具箱,无一不是非常优秀的运算工具。
这些工具箱都可以添加自己根据需要编写的函数,用户可以不断更新自己的工具箱,使之更适合于自己的研究和计算。
1.3 MATLAB应用领域
MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。
MATLAB 产品族可以用来进行以下各种工作:
(1)数值分析
(2)数值和符号计算
(3)工程与科学绘图
(4)控制系统的设计与仿真
(5)数字图像处理 技术
(6)数字信号处理技术
(7)通讯系统设计与仿真
(8)财务与金融工程
2.图像概述
matlab能够读入、显示和处理多种标准图像格式文件。
当图像文件经由MATLAB读入后,都是用数值数组的方式来表示的,这时候通过MATLAB函数显示出来的图像,实际上是一个句柄图形的图像对象。
MATLAB支持的标准图像格式包括:
BMP,HDF,JPEG,PCX,PNG,TIFF,XWD等等。
MATLAB读入这些标准图像文件后,用数值数组存储这些文件的信息。
其中,数值数组的数值元素可以使无符号的8位整数、无符号的16位整数或双精度浮点数。
通常情况下,一个标准格式的图像文件经由MATLAB读入后产生至少一个数组,称为数据数组,其中记录了标准格式的图像各像素点的颜色信息;大多数情况下还会产生第二个数组,称为颜色表数组,用来存储解释数据数组的数值对应的颜色信息。
根据MATLAB读入图像后产生的数组个数和MATLAB再次显示、处理这些数组数据时对数值的解释方法,可以把MATLAB内部的图像对象分为索引图像,灰阶强度图像和RGB真彩图像这三种类型。
(1)索引图像:
它的数据信息包括一个数据矩阵和一个双精度色图矩阵,它的数据矩阵中的值直接指定该点的颜色为色图矩阵中的某一种。
色图矩阵中,每一行表示一种颜色,每行有三个数据,分别表示该种颜色中红、绿、蓝的比例情况,所有元素值都在[0,1]内。
(2)灰度图像:
它的数据矩阵中的元素值一般都在[0,1]或[0,255]之间,灰度图像根据这些数据利用线性插值来和色图中的颜色种类匹配。
(3)RGB图像:
图像中每个象素的颜色用三个数据来存储,分别指定红、绿、蓝三原色在象素颜色中的比例关系,组成一个三维数组。
3.数据采集
3.1图像的读取
利用imread函数可以完成图像文件的读取操作。
常用语法格式为:
I=imread(‘filename’,‘fmt’)或I=imread(‘filename.fmt’); 其作用是将文件名用字符串filename表示的、扩展名用字符串fmt(表示图像文件格式)表示的图像文件中的数据读到矩阵I中。
当filename中不包含任何路径信息时,imread会从当前工作目录中寻找并读取文件。
要想读取指定路径中的图像,最简单的方法就是在filename中输入完整的或相对的地址。
MATLAB
支持多种图像文件格式的读、写和显示。
因此参数fmt
常用的可能值有:
(1)‘bmp’ Windows位图格式
(2)‘jpg’or‘jpeg’ 联合图像专家组格式
(3)‘tif’or‘tiff’ 标志图像文件格式
(4)‘gif’图形交换格式
(5)‘pcx’ Windows画刷格式
(6)‘png’可移动网络图形格式
(7)‘xwd’X Window Dump格式
例如,命令行
>>I=imread(‘lena.jpg’);
将JPEG图像lena读入图像矩阵I中。
将电脑上两幅图片读入:
图3.1.1山水画1
图3.1.2山水画2
实验程序为:
I=imread('E:
\gg.jpg');
P=imread('E:
\mm.jpg');
用whos命令结果可见,文件mm.jpeg和gg.jpeg经由imread命令读入后,产生了两个数值数组I和P。
3.2图像的显示
Matlab显示图像的最基本的手段是使用image函数。
该函数还产生了图像对象的句柄,并允许对对象的属性进行设置,利用图像读取函数imread()可完成图形图像文件的读取。
subplot函数介绍,在一般默认的情况下,MATLAB 每次使用plot 函数进行图形绘制,将重新产生一个图形窗口。
但有时希望后续的图形能够和前面所绘制的图形进行比较。
一般来说有两种方法:
一是采用holdon(/off)命令,将新产生的图形曲线叠加到已有的图形上;二是采用subplot(m,n,k)函数,将图形窗口分隔成n*m个子图,并选择第k个子图作为当前图形 ,然后在同一个视图窗口中画出多个小图形。
作为一个二维曲线绘制函数,subplot的功能是:
将一个窗口分为若干块,在选中的某一块区域内可以绘制图形。
下面程序需采用subplot函数。
实验程序为:
I=imread('E:
\gg.jpg');
subplot(1,2,1);image(I);
title('gg')
P=imread('E:
\mm.jpg');
subplot(1,2,2);image(P);
title('mm')
运行结果为:
图3.2.1读入图像
灰度转换程序如下:
I=rgb2gray(I);
P=rgb2gray(P);
figure;
imshow(I);
figure;
imshow(P);
运行结果为:
图3.2.2灰度图像1
图3.2.3灰度图像2
4.图像数据统计处理
4.1图像数据处理原理
一幅图像可以被看作是空间各点光强度的集合。
MATLAB把灰度图像存储为一个数据矩阵,该数据矩阵中的元素分别代表了图像中的像素。
一幅行数为M、列数为N的图像大小为M×N的矩阵形式为:
f(0,0)f(0,1)…f(0,n-1)
f(x,y)=f(1,0)f(1,1)…f(1,n-1)
……
f(m-1,0)f(m-1,1)…f(m-1,n-1)
例如:
图4.1山水画1图像的部分矩阵
由于在应用图片的方面,对图像各项参数的要求不同,所以要对图片进行适当的数据处理,来考察图片的不同参数。
均值,标准差,方差就是图像的一些相关的参数,可以用作对图片的质量来作评价。
4.2各个像素点中最大值
MATLAB中提供的max函数可求出最大值
程序如下:
image_max=max(max(I))
image_max=max(max(P))
运行结果为:
图4.2.各个像素点的最大值分析
4.3各个像素点中最小值
MATLAB中提供的min函数可求出最小值
程序如下:
image_min=min(min(I))
image_min=min(min(P))
运行结果为:
图4.3各个像素点的最小值分析
4.4各个像素点值的均值
MATLAB中提供均值计算函数mean()和mean2(),函数的使用方法如下:
用mean2(H)求出矩阵所有元素的均值。
题目要求计算图像各像素点的均值,因而可通过调用mean2()函数进行计算,在命令行中输入mean2(A_gray)即可求得灰度图各像素点的均值。
程序如下:
image_mean= mean2(I)
image_mean= mean2(P)
运行结果为:
图4.4各个像素点的均值分析
4.5各个像素点值的中值
MATLAB中提供的median函数可求出中值
程序如下:
image_median=median(I(:
))
image_median=median(P(:
))
运行结果为:
图4.5各个像素点的中值分析
4.6各个像素点值的和
MATLAB中提供的sum函数可求出各像素点的和
程序如下:
image_sum=sum(sum(I))
image_sum=sum(sum(P))
运行结果为:
图4.6各个像素点的和分析
4.7各个像素点值的标准差
MATLAB中提供的std函数可求出标准差
程序如下:
image_std=std2(I(:
))
image_std=std2(P(:
))
运行结果为:
图4.7各个像素点的标准差分析
4.8两个图中各像素点值的协方差
MATLAB中提供的cov函数可求出两数组间的协方差
程序如下:
image_cov=cov(double(I),double(P))
运行结果为:
图4.8各个像素点的协方差分析
4.9两个图的相对系数
MATLAB中提供的corrcoef函数可求出两数组间的协方差
程序如下:
image_corrcoef=corrcoef(double(I),double(P))
运行结果为:
图4.9两个图的相对系数分析
5.心得体会
matlab课程设计让我更了解了这个软件,软件图像处理的能力,掌握图像的各种数据分析,并与原图像进行比较。
在熟悉掌握matlab程序和操作的同时培养了我的独立思考能力,钻研精神,解决问题能力和动手能力。
虽然从未接触过MATLAB,刚开始只是有针对性地看一下书上的源程序,然后抄上去,看看运行结果,能出来跟书上一样的结果就已经很开心了,,但知道的只是最基本的的应用,对于MATLAB在图像处理上的应用,我完全没有理解。
本次课程设计中通过查阅资料,阅读程序并读写程序对MATLAB图像应用有了更深的了解。
我同时也认识到了MATLAB功能并不只是图形的绘制及波形的处理,有着很多方面的运用,如绘制函数,处理音频、图像数据,创建用户界面等功能,实为一个功能强大的软件。
通过这次课程设计,我学习了一些MATLAB图像处理的编程,并对MATLAB的操作有了更深的了解和熟悉,对以后的学习和工作都会很有帮助。
更重要的是提高了我的学习能力,培养良好的学习习惯,受益匪浅。
参考书籍
[1]余万波编著. 《基于MATLAB的图像处理》. 清华大学出版社. 2008.3
[2] 梁红. 《matlab在数字图像处理中的应用》. 清华大学出版社. 2004
[3] 蓝章礼编著. 《数字图像处理与图像通信》. 清华大学出版社. 。
2009.3
[4] 余成波编著. 《数字图像处理及MATLAB实现》.重庆大学出社. 2003.6
[5] 胡学龙 许开宇编著.《数字图像处理》. 电子工业出版社. 2009.6
[6] 王家文编著. 《MATLAB7.0图形图像处理》. 国防工业出版社. 2006.7
附件
I=imread('E:
\gg.jpg');
subplot(1,2,1);image(I);
title('gg')
P=imread('E:
\mm.jpg');
subplot(1,2,2);image(P);
title('mm')
灰度转换程序如下:
I=rgb2gray(I);
P=rgb2gray(P);
figure;
imshow(I);
figure;
imshow(P);
image_max=max(max(I))
image_max=max(max(P))
image_min=min(min(I))
image_min=min(min(P))
image_mean= mean2(I)
image_mean= mean2(P)
image_median=median(I(:
))
image_median=median(P(:
))
image_sum=sum(sum(I))
image_sum=sum(sum(P))
image_std=std2(I(:
))
image_std=std2(P(:
))
image_cov=cov(double(I),double(P))
image_corrcoef=corrcoef(double(I),double(P))
本科生课程设计成绩评定表
姓名
性别
专业班级
题目:
答辩或质疑记录:
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
__________________
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab课程设计 matlab 课程设计