1、matlab课设 利用MATLAB仿真软件系统进行图像的数据分析 作者: 日期:2 个人收集整理 勿做商业用途课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 信息工程学院 题 目: 利用MATLAB仿真软件系统进行图像数据分析 初始条件:1.MATLAB软件。2。数字信号处理与图像处理基础知识。要求完成的主要任务: 读取图像并求出图像的最大值、最小值、均值、中值、和、标准差、两图像的协方差、相关系数等。参考书目:1 余万波编著。 基于MATLAB的图像处理. 清华大学出版社. 2008。32 梁红. matlab在数字图像处理中的应用。 清华大学出版社。 2004 3 蓝章礼 李
2、益才 李艾星 编著. 数字图像处理与图像通信. 清华大学出版社. 2009.34 余成波编著。 数字图像处理及MATLAB实现. 重庆大学出版社. 2003。65 胡学龙 许开宇 编著。 数字图像处理. 电子工业出版社. 2009。66 王家文编著。 MATLAB7.0图形图像处理。 国防工业出版社。 2006.7时间安排:1方案设计 1天2软件设计 2天3系统调试1天4答辩 1天合 计5天指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录摘要3Abstract41。MATLAB简介51。1 MATLAB产生的历史背景51.2 MATLAB的语言特点和开发环境61。3 MAT
3、LAB应用领域72。图像概述83。数据采集83.1图像的读取83.2图像的显示114。图像数据统计处理134.1图像数据处理原理134。2各像素点中最大值144.3各像素点中最小值144.4各像素点值的均值154.5各像素点值的中值164.6各像素点值的和164。7各像素点值的标准差174.8各像素点值的方差184。9两图中各像素点值的协方差184.10两图的相对系数195。心得体会206。参考文献21摘要数字图形图像处理是指采用计算机处理图形图像的技术。近些年随着计算机与信息技术的高速发展,数字图处理技术也得到了快速发展,已成为计算机科学、医学、生物学、信息科学等领域各学科之间学习和研究的对
4、象。成为学术界的研究热门。 MATLAB是目前国内外广泛流行的数字计算软件。其具有较强的图像处理功能,操作直观,简洁,同时又是一个较好的图像处理系统的开发工具。近些年得到了很大的发展,已经广泛应用于科学计算和工程计算领域。本文基于MATLAB的数字图像处理环境, 利用MATLAB软件进行图像的数据分析,包括读取图像并求出图像的最大值、最小值、均值、中值、和、标准差、两图像的协方差、相关系数等。关键字:MATLAB,数字信号处理,图像数据分析AbstractDigital image processing is refers to using computer graphics, image p
5、rocessing technology. In recent years along with the computer and the high speed development of information technology, digital map processing technology also got rapid development, has become a computer science, medicine, biology, information science fields between the subject and the object of res
6、earch study. Become a hot academic research。 MATLAB is popular at home and abroad and the digital calculation software。 It has strong image processing function, operation is easy, simple, and at the same time, it is a good image processing system development tools. In recent years it has had great d
7、evelopment, has been widely used in scientific computing and engineering computing。 This paper based on the MATLAB digital image processing environment, using the MATLAB software image data analysis, including read the image and get the image of the maximum, minimum, mean, median, and, standard devi
8、ation, two image covariance, correlation coefficient, etc.文档为个人收集整理,来源于网络本文为互联网收集,请勿用作商业用途Key words: MATLAB,digital signal processing,image data analysis1.MATLAB简介1.1 MATLAB产生的历史背景MATLAB是美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进
9、行复杂数值计算的领域得到了广泛应用。它不仅是一个在各类工程设计中便于使用的运算工具,而且也是一个在数学、数值分析和工程计算等课程教学中的优秀的教学工具,在世界各地的高等院校中十分流行,在各类工业应用中更有不俗的表现。MATLAB可以在几乎所有的PC机和大型计算机上运行,适用于Windows、UNIX等多种系统平台。 MATLAB名称是由两个英文单词Maix和Laboratory的前二个字母组成。20世纪70年代后期,美国新墨西哥大学计算机系主任CleveMoler教授为了便于教学,减轻学生编写Fortran程序的负担,为两个矩阵运算软件包Linpack和Eispack编写了接口程序,这也许就算
10、MATLAB的第一个版本.1984年,在JackLittle(也称JohnLittle)的建议推动下,由Little、Moler、SteveBangert三人合作,成立rMathWorks公司,同时把MATLAB正式推向市场。从那时开始,MATLAB的源代码采用C语言编写,增加了数据图形的可视化功能.1993年,MathWorks公司推出了MATLAB的40版本,系统平台由DOS改为Windows,推出了功能强大的、可视化的、交互环境的用于模拟非线性动态系统的工具Simulink,为MATLAB进行实时数据分析、处理和硬件开发而推出了与外部直接进行数据交换的组件,为MATLAB能融科学计算、图
11、形可视、文字处理于一体而制作了Notebook,MathWorks使MATLAB成为国际控制界公认的标准计算软件。本文为互联网收集,请勿用作商业用途本文为互联网收集,请勿用作商业用途 MATLAB拥有了更丰富的数据类型和结构,更好的面向对象的快速精美的图形界面,更多的数学和数据分析资源,MATLAB工具也达到了25个,几乎涵盖了整个科学技术运算领域.在大部分大学里,应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教材都把MATLAB作为必不可少的内容.1.2 MATLAB的语言特点和开发环境MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因
12、为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担。被称为第四代编程语言的MATLAB最大的特点就是简洁开放的程序代码和直观实用的开发环境。具体地说MATLAB主要有以下特点: (1)库函数资源丰富:数百种库函数大大减轻了用户子程序的编写工作量,也避免了一些不必要的错误,因而用户也不必担心程序的可靠性问题。 (2)语言精炼,代码灵活:MATLAB的编程语言符合人们的思维习惯,对代码的书写也没有特别严格的控制,语言精炼,程序的亢余度非常小。 (3)运算符多而灵活:MATLAB的内核是用c语言编写的,它为用户提供了和
13、C语言一样多的运算符,用户运用这些运算符可以使程序更加简炼。 (4)面向对象,控制功能优良:MATLAB在5x各版本中优化了数据结构,使得程序的结构化控制更精良,面向对象的功能更加友善。特别是当前的70版,在可视化编程方面比以前的版本又有了更大的提高,使界面编程更方便、自由。 (5)程序设计自由:MATLAB70版支持长变量名达到63个字符,用户可以不对矩阵进行预定义就使用,变量和数组的应用也有了很大的扩展,这为用户编写程序提供了更大的自由度,使编程更加简单、方便。 (6)图形功能强大:在很多程序语言中,绘制图形是一件很麻烦的事情。但在MATLAB中,只需调用相应的绘图函数即可,既方便又迅速。
14、随着硬件的发展和MATLAB70推出,MATLAB的图形功能更好,可视化编程能力得到更进一步的提高。 (7)程序的兼容性好:MATLAB可以在各种PC机、大型计算机和各种操作系统上运行。 (8)源代码开放:MATLAB的最重要的特点是源代码的开放性,除了内部函数,所有的MATLAB核心文件和工具箱文件都完全开放,都可渎可改。用户对源文件修改就可以生成适合自己的源代码文件。 (9)形形色色的工具箱:凡有工具箱的软件大都分为两大部分,就是核心部分和形形色色的工具箱。MATLAB有数百个核心内部函数,数十个形形色色的工具箱。工具箱大致可以分为两大类,类是学科性工具箱,另一类是功能性工具箱。学科性工具
15、箱大都涵盖了本学科所有的已有的基本概念和基本运算,大都十分专业。如符号数学工具箱,简直就是一个高等数学、工程数学解题器。极限、导数、微分、积分、级数运算与展开、微分方程求解、Laplace变换等应有尽有.还有控制系统、信号处理、模糊逻辑、神经网络、小波分析、统计;优化、金融预测等工具箱,无一不是非常优秀的运算工具。这些工具箱都可以添加自己根据需要编写的函数,用户可以不断更新自己的工具箱,使之更适合于自己的研究和计算。1.3 MATLAB应用领域MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的
16、专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。MATLAB 产品族可以用来进行以下各种工作:(1)数值分析(2)数值和符号计算(3)工程与科学绘图(4)控制系统的设计与仿真(5)数字图像处理技术(6)数字信号处理技术(7)通讯系统设计与仿真(8)财务与金融工程 MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。2。图像概述MATAB能够读入、显示和处理多种标
17、准图像格式文件。当图像文件经由MATLAB读入后,都是用数值数组的方式来表示的,这时候通过MATLAB函数显示出来的图像,实际上是一个句柄图形的图像对象.MATLAB支持的标准图像格式包括:BMP,HDF,JPEG,PCX,PNG,TIFF,XWD等等。MATLAB读入这些标准图像文件后,用数值数组存储这些文件的信息。其中,数值数组的数值元素可以使无符号的8位整数、无符号的16位整数或双精度浮点数.通常情况下,一个标准格式的图像文件经由MATLAB读入后产生至少一个数组,称为数据数组,其中记录了标准格式的图像各像素点的颜色信息;大多数情况下还会产生第二个数组,称为颜色表数组,用来存储解释数据数
18、组的数值对应的颜色信息。根据MATLAB读入图像后产生的数组个数和MATLAB再次显示、处理这些数组数据时对数值的解释方法,可以把MATLAB内部的图像对象分为索引图像,灰阶强度图像和RGB真彩图像这三种类型。(1)索引图像:它的数据信息包括一个数据矩阵和一个双精度色图矩阵,它的数据矩阵中的值直接指定该点的颜色为色图矩阵中的某一种。色图矩阵中,每一行表示一种颜色,每行有三个数据,分别表示该种颜色中红、绿、蓝的比例情况,所有元素值都在0,1内。(2)灰度图像:它的数据矩阵中的元素值一般都在0,1或0,255之间,灰度图像根据这些数据利用线性插值来和色图中的颜色种类匹配。(3)RGB图像:图像中每
19、个象素的颜色用三个数据来存储,分别指定红、绿、蓝三原色在象素颜色中的比例关系,组成一个三维数组。3.数据采集3。1图像的读取利用imread函数可以完成图像文件的读取操作。常用语法格式为:I=imread(filename,fmt)或I=imread(filename。fmt);其作用是将文件名用字符串filename表示的、扩展名用字符串fmt(表示图像文件格式)表示的图像文件中的数据读到矩阵I中。当filename中不包含任何路径信息时,imread会从当前工作目录中寻找并读取文件。要想读取指定路径中的图像,最简单的方法就是在filename中输入完整的或相对的地址。 MATLAB支持多种
20、图像文件格式的读、写和显示。因此参数fmt常用的可能值有:(1)bmp Windows位图格式(2)jpgorjpeg 联合图像专家组格式(3)tifortiff 标志图像文件格式(4)gif 图形交换格式(5)pcx Windows画刷格式(6)png 可移动网络图形格式(7)xwd X Window Dump格式例如,命令行I=imread(lena.jpg);将JPEG图像lena读入图像矩阵I中。将电脑上两幅图片读入:实验程序为:I=imread(E:gg.jpg);P=imread(E:mm。jpg);用whos命令结果可见,文件mm.jpeg和gg。jpeg经由imread命令读入
21、后,产生了两个数值数组I和P。得到结果如下所示:3。2图像的显示Matlab显示图像的最基本的手段是使用image函数。该函数还产生了图像对象的句柄,并允许对对象的属性进行设置,利用图像读取函数imread()可完成图形图像文件的读取。subplot函数介绍,在一般默认的情况下,MATLAB 每次使用plot 函数进行图形绘制,将重新产生一个图形窗口.但有时希望后续的图形能够和前面所绘制的图形进行比较。一般来说有两种方法:一是采用hold on(/off)命令,将新产生的图形曲线叠加到已有的图形上;二是采用 subplot(m,n,k)函数,将图形窗口分隔成nm个子图,并选择第k个子图作为当前
22、图形 ,然后在同一个视图窗口中画出多个小图形.作为一个二维曲线绘制函数,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)实验结果如下:以上两张图片满足像素要求,但图像为彩图,不是灰度图,无法进行接下来的分析,需将彩图转换为灰度图,利用MATLAB中的rgb2gray()命令实现RGB图像到灰度图像的转化.转化后
23、在使用命令isgray()判断图像是否变为灰度图,如果是灰度图将返回为1,不是将返回0。灰度图转换成功后,将转化后的灰度图读取出来。灰度转换程序如下:I=rgb2gray(I);P=rgb2gray(P);figure;imshow(I);figure;imshow(P);程序运行结果:4。图像数据统计处理4.1图像数据处理原理一幅图像可以被看作是空间各点光强度的集合.MATLAB把灰度图像存储为一个数据矩阵,该数据矩阵中的元素分别代表了图像中的像素.一幅行数为M、列数为N的图像大小为MN的矩阵形式为: 图41 MN矩阵形式由于在应用图片的方面,对图像各项参数的要求不同,所以要对图片进行适当的
24、数据处理,来考察图片的不同参数。均值,标准差,方差就是图像的一些相关的参数,可以用作对图片的质量来作评价。4。2各像素点中最大值MATLAB中提供的max函数可求出最大值程序如下: mage_max=max(max(I)) image_max=max(max(P))得到图像结果如图42所示:图4-2 图像gg和mm最大值4.3各像素点中最小值MATLAB中提供的min函数可求出最小值程序如下:image_min=min(min(I))image_min=min(min(P)得到结果如图4-3所示:图42 图像gg和mm最小值4.4各像素点值的均值MATLAB中提供均值计算函数mean()和me
25、an2(),函数的使用方法如下:用mean2(H)求出矩阵所有元素的均值。题目要求计算图像各像素点的均值,因而可通过调用mean2()函数进行计算,在命令行中输入mean2(A_gray)即可求得灰度图各像素点的均值。程序如下:image_mean= mean2(I)image_mean= mean2(P)得到结果如图4-4所示:图4-4图像gg和mm的均值4。5各像素点值的中值MATLAB中提供的median函数可求出中值程序如下:image_median=median(I(:)image_median=median(P(:))得到结果如图45所示:图4-5图像gg和mm的中值4.6各像素点
26、值的和MATLAB中提供的sum函数可求出各像素点的和程序如下:image_sum=sum(sum(I)image_sum=sum(sum(P)得到结果如图46所示:图4-6图像gg和mm的和值4.7各像素点值的标准差MATLAB中提供的std函数可求出标准差程序如下:image_std=std2(I(:) image_std=std2(P(:) 得到结果如图47所示:图4-7图像gg和mm的标准差4.8各像素点值的方差MATLAB中提供的var函数可求出方差程序如下:image_var=var(double(I(:)))image_var=var(double(P(:)得到结果如图4-8所示
27、:图48图像gg和mm的方差4。9两图中各像素点值的协方差MATLAB中提供的cov函数可求出两数组间的协方差程序如下:image_cov=cov(double(I),double(P)得到结果如图4-9所示:图4-9图像gg和mm的协方差4。10两图的相对系数MATLAB中提供的corrcoef函数可求出两数组间的协方差程序如下:image_corrcoef=corrcoef(double(I),double(P)得到结果如图410所示:图4-10图像gg和mm的相对系数5。心得体会 MATLAB课程设计让我更熟悉地掌握该软件的功能,灵活运用MATLAB,加强对matlab软件图像处理的能力
28、,掌握图像的傅利叶变换、小波变换、小波包变换、离散余弦变换、离散沃尔什变换,二维哈达玛变换,并采用小波变换和离散余弦变换对图像进行压缩,并与原图像进行比较。在熟悉掌握matlab程序和操作的同时培养了我的独立思考能力,钻研精神,解决问题能力和动手能力。 虽然从大二开始就开始接触MATLAB,刚开始只是有针对性地看一下书上的源程序,然后抄上去,看看运行结果,能出来跟书上一样的结果就已经很开心了,但知道的只是最基本的的应用,对于MATLAB在图像处理上的应用,我完全没有理解。本次课程设计中通过查阅资料,阅读程序并读写程序对MATLAB图像应用有了更深的了解.我同时也认识到了MATLAB功能并不只是
29、图形的绘制及波形的处理,有着很多方面的运用,如绘制函数,处理音频、图像数据,创建用户界面等功能,实为一个功能强大的软件. 在课设过程中每每编写程序及操作时出现问题,我都会通过查阅资料,仔细检查解决问题,经过一次次的修改完善,才出现最终的最优结果。在这个过程中,面对问题不放弃不急躁,一次次改进,静下心来慢慢解决,并细致完善细节,从而能培养一种良好的学习心态和习惯。 通过这次课设中,我学习了一些MATLAB图像处理的编程,并对MATLAB的操作有了更深的了解和熟悉,对以后的学习和工作都会很有帮助。更重要的是提高了我的学习能力,培养良好的学习习惯,受益匪浅。6。参考文献1 余万波编著。 基于MATL
30、AB的图像处理。 清华大学出版社。 2008.32 梁红. matlab在数字图像处理中的应用。 清华大学出版社. 2004 3 蓝章礼 李益才 李艾星 编著. 数字图像处理与图像通信。 清华大学出版社。 2009。34 余成波编著。 数字图像处理及MATLAB实现。 重庆大学出版社. 2003.65 胡学龙 许开宇 编著。 数字图像处理. 电子工业出版社. 2009。66 王家文编著。 MATLAB7.0图形图像处理。 国防工业出版社。 2006.7本科生课程设计成绩评定表姓 名性 别专业、班级课程设计题目:课程设计答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日25