Matlab课设-图像的输入输出及格式转换2_第1页
Matlab课设-图像的输入输出及格式转换2_第2页
Matlab课设-图像的输入输出及格式转换2_第3页
Matlab课设-图像的输入输出及格式转换2_第4页
Matlab课设-图像的输入输出及格式转换2_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院题目:利用MATLAB仿真软件进行图像的输入、输出和格式变换要求完成的主要任务:读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换课程设计的目的:1.理论目的课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。2.实践目的课程设计的目的之二是通过设计具体的图像信号变换掌握图像和信号处理的方法和步骤。课程设计的要求:每个学生单独完成课程设计内容,并写出课程设计说明书、给出程序清单,最后通过课程设计答辩。时间安排:序号阶段内容所需时间1方案设计2天2软件设计3天3系统调试2天4答辩1天合计8天指导教师签名:年月日系主任(或责任教师)签字:年月日目录摘要 设计项目要求与说明设计项目要求利用MATLAB仿真软件进行图像的输入、输出和格式变换。要求读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换。Matlab简介及其在图像处理与分析的应用Matlab简介MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。数字图像及其处理图像是用各种观测系统以不同形式和手段观测客观世界而获得的,可以直接或间接作用于人眼并进而产生视知觉的实体。其最广义的观点是指视觉信息。人类的大部分信息都是从图像中获得的。用计算机进行图像处理的前提是图像必须以数字格式存储,人们把以数字格式存放的图像称之为数字图像。而我们常见的照片、海报、广告招贴画等都属于模拟图像。若要将模拟图像数字化后生成数字图像,需要使用诸如扫描仪之类的数字化设备。模拟图像经过扫描仪进行数字化后,或者由数码照相机拍摄的图片,在计算机中均是以数字格式存储的。为了把图像数字化,必须进行在空间点阵上的抽样和灰度量化两个方面的工作。被抽样的点称为像素,抽样的精度随图像的种类而不同。这样一来,所谓数字图像就是灰度值的二维数组。一个单色静止图像可以用一个二维的光强度函数f(x,y)来表示,其中x与y表示空间坐标,而在任意点(x,y)的f值与在该点图像的亮度(或灰度)成正比。一个数字图像是图像f(x,y)在空间坐标和亮度上都数字化后的图像。可将数字图像视作一个矩阵,矩阵行与列的值决定一个点,而对应的矩阵元素值就是该点的灰度。这种矩阵的元素就是像素,所对应的灰度就是像素值。表1-1是以数据结构的观点进行分类的图像种类。即在光谱方向、空间方向、时间轴方向上增加维数的图像,可以用多个二维数组来表示。在这里,不管是一个数组还是其集合,总是要组成用计算机容易处理的形式。因此在传送和复制时,只要在计算机内部进行处理,就不会被破坏而能保持完好的再现性。这是数字处理的一大优点。表1-1图像的种类种类形式备注二值图像f(x,y)=0,1文字,曲线,指纹等灰度图像0≤f(x,y)≤2n-1通常的照片,n=6~8是标准的彩色图像{fi(x,y)},i=R,G,B根据三基色的表示多光谱图像{fi(x,y)},i=1,…,m遥感图像用,m多为4~8立体图像fL,fR从左右视点得到的一对图像,用于立体观测运动图像(时间序列图像){ft(x,y)},t=t1,…,tn动态分析,动画等所谓数字图像处理(digitalimageprocessing),就是利用计算机对图像进行去除噪声、增强、恢复、分割、提取特征等的理论、方法和技术。由于图像处理是利用计算机和实时硬件实现的,因此也被称为计算机图像处理(computerimageprocessing)。要有效解决众多的图像处理应用问题,必须研究出专门的图像处理方法,大致上可以将这些问题及其数字图像处理方式归纳为图像获取、表示和表现(ImageAcquisition,RepresentationandPresentation)、图像增强(ImageEnhancement)、图像恢复(ImageRestoration)、图像重建(ImageReconstruction)、图像压缩(ImageCompression)、图像分割(ImageSegmentation)、图像分析(ImageAnalysis)等。Matlab在图像处理与分析的应用ⅰ.MATLAB支持的几种图像文件格式⑴JPEG(JointPhotogyaphicExpeytsGroup):一种称为联合图像专家组的图像压缩格式。⑵BMP(WindowsBitmap):有1位、4位、8位、24位非压缩图像,8位RLE(RunlengthEncoded)的图像。文件内容包括文件头(一个BITMAPFILEHEADER数据结构)、位图信息数据块(位图信息头BITMAPINFOHEADER和一个颜色表)和图像数据。⑶PCX(WindowsPaintbrush):可处理1位、4位、8位、16位、24位等图像数据。文件内容包括文件头、图像数据和扩展色图数据。⑷TIFF(TaggedIamgeFileFormat):处理1位、4位、8位、24位非压缩图像,1位、4位、8位、24位packbit压缩图像,1位CCITT压缩图像等。文件内容包括文件头、参数指针表与参数域、参数数据表和图像数据四部分。⑸PNG(PortableNetworkGraphics):包括1位、2位、4位、8位和16位灰度图像,8位和16位索引图像,24位和48位真彩色图像。⑹GIF(GraphicsInterchangeFormat):任何1位到8位的可交换的图像。⑺HDF(HierarchialDataFormat):有8位、24位光栅图像数据集。⑻ICO(WindowsIconresource):有1位、4位、8位非压缩图像。⑼CUR(WindowsCursorresource):有1位、4位、8位非压缩图像。⑽XWD(XWindowsDump):包括1位、8位Zpixmaps,XYBitmaps,XYPixmmmaps。⑾RAS(SunRasterimage):有1位bitmap、8位索引、24位真彩色和带有透明度的32位真彩色。ⅱ.MATLAB支持五种图像类型,即二值图像、索引图像、灰度图像、RGB图像和多帧图像阵列。有关它们的定义见下表1-2。表1-2图像类型及其对应的像素数据类型双精度类:Double(每个元素占8个字节)整数类:Unit8(每个元素占1个字节)整数类(Unit16)(每个元素占2个字节)索引图像图像数组大小:m×n图像元素取值:[1,p]色度矩阵:p×3色度元素值:[0,1]图像数组大小:m×n图像元素取值:[0,p-1]色度矩阵:p×3色度元素值:[0,255]图像数组大小:m×n图像元素取值:[0,p-1]色度矩阵:p×3色度元素值:[0,65535]灰度图像图像数组大小:m×n图像元素值:[0,1]色度矩阵:p×3色度元素值:[0,1]图像数组大小:m×n图像元素值:[0,255]色度矩阵:p×3色度元素值:[0,1]图像数组大小:m×n图像元素值:[0,65535]色度矩阵:p×3色度元素值:[0,1]二值图像图像数组大小:m×n图像元素值:0或1图像数组大小:m×n图像元素值:0或1真彩图像数组大小:m×n×3(:,:,1)-红色分量(:,:,2)-绿色分量(:,:,3)-蓝色分量元素取值:[0,1](无调色板)数组大小:m×n×3(:,:,1)-红色分量(:,:,2)-绿色分量(:,:,3)-蓝色分量元素取值:[0,255](无调色板)数组大小:m×n×3(:,:,1)-红色分量(:,:,2)-绿色分量(:,:,3)-蓝色分量元素取值:[0,65535](无调色板)⑴索引图像是一种把像素值直接作为RGB调色板下标的图像。索引图像可把像素值“直接映射”为调色板数值。调色板通常与索引图像存储在一起,装载图像时,调色板将和图像一同自动装载。索引模式和灰度模式比较类似,它的每个象素点也可以有256种颜色容量,但它可以负载彩色。灰度模式的图像最多只能有256种颜色。当图像转换成索引模式时,系统会自动根据图像上的颜色归纳出能代表大多数的256种颜色,就象一张颜色表,然后用这256种来代替整个图像上所有的颜色信息。⑵灰度图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。⑶二值图像是指每个像素不是黑就是白,其灰度值没有中间过渡的图像。二值图像一般用来描述文字或者图形,其优点是占用空间少,缺点是,当表示人物,风景的图像时,二值图像只能描述其轮廓,不能描述细节。⑷RGB色彩就是常说的三原色,R代表Red(红色),G代表Green(绿色),B代表Blue(蓝色)。之所以称为三原色,是因为在自然界中肉眼所能看到的任何色彩都可以由这三种色彩混合叠加而成,因此也称为加色模式。⑸多帧图像阵列是由多帧图像组成的,每一帧图像可以为前四种图像中的一种,但组成一个多帧图像阵列的图像必须为同一种。cat函数可以将具有相同尺寸的几个独立图像存成多帧文件。对于多帧图像也可以从中提取单帧。ⅲ.应用用Matlab所提供的图像处理与分析工具,结合其强大的数据处理能力,研究人员可利用前人已取得的研究成果,可以把精力集中在新技术理论的研究上,而不必关心图像文件的格式、读写、显示和已有成果的技术细节.并快速测试其图像处理与分析的新方案。测试既可方便地得到统计数据,同时又可得到直观图示。Matlab提供了20类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。这些函数按其功能可分为:图像显示;图像文件I/O;图像算术运算;几何变换;图像登记;像素值与统汁;图像分析;图像增强;线性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理;灰度与二值图像的形态学运算;结构元素创建与处理;基于边缘的处理;色彩映射表操作;色彩空间变换;图像类型与类型转换。软件流程分析读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换图像的读取MATLAB提供了一个重要的用于图像文件的读写的指令从图像文件中读取数据的imread。imread的常见调用格式为:A=imread(‘filename’,’fmt’)其作用是将文件名用字符串filename表示的,扩展名用fmt表示的图像文件中的数据读到矩阵A中。如果filename所指的为灰度级图像,则A为一个二维矩阵;如果filename所指的为RGB图像,则A为一个m×n×3的三维矩阵。Filename表示的文件名必须在MATLAB的搜索路径范围内,否则需指出其完整路径。imread的其他几种重要的调用格式为:[X,map]=imread(‘filename’,’fmt’)[…]=imread(‘filename’)[…]=imread(URL,…)[…]=imread(…,idx)

(CUR,ICOandTIFFonly)[…]=imread(…,’frames’,idx)

(GIFonly)[…]=imread(…,ref)

(HDFonly)[…]=imread(…,’BackgroundColor’,BG)

(PNGonly)[A,map,alpha]=imread(…)

(ICO,CURandPNGonly)上面一些参数的含义如下:idx是指读取图标(cur、ico、tiff)文件中第idx个图像,默认值为1。’frame’,idx是指读取gif文件中的图像帧,idx值可以是数量、向量或’all’。ref是指整数值。alpha是指透明度。图像的显示以图像形式输出(图像的显示)以图像形式输出,其实质就是图像的显示。函数为image(imshow).图2-1图像输出的框图根据不同的图像形式,有一些不同的显示方法。索引图像的显示索引图像包含一个数据矩阵A,一个颜色映射矩阵map。像素颜色内数据矩阵X作为索引值向矩阵map进行索引。ⅰ.可以用下面代码来显示一幅索引图像:image(A)colormap(map).ⅱ.使用imshow命令显示索引图像,则需要指定图像矩阵和调色板:Imshow(A,map)在显示一幅索引图像时,inshow函数将设置句柄图形属性来控制颜色显示方式。灰度图像的显示一幅灰度图像是一个数据矩阵Iⅰ.imshow(I,[low,high])以灰度范围[low,high]显示图像,如果不知道灰度范围,可以用imshow(I,[])显示。ⅱ.imshow(I,n)显示灰度级为n的图像,n缺省为256。二值图像的显示imshow(BW)显示二值图像。RGB图像的显示imshow(RGB)显示真彩色图像。以图像文件的形式输出(图像文件形式之间的转换)以图像文件的形式输出,其实质是图像文件形式之间的转换。图2-2图像文件形式的输出框图格式是:imwrite(A,’filename’,’fmt’)保存无调色板的图像imwrite(X,map,’filename’,’fmt’)保存有调色板的图像imwrite(…,’filename’)文件名中含格式imwrite(…,Param1,Vall,Param2,Val2,…)指定保存参数(其中imwrite(…,Param1,Val1,Param2,Val2…)可以让用户控制HDF、JPEG、TIFF等一些图像文件格式的输出特性。)在MATLAB中,默认的保存类型是uint8。由于PNG和TIFF格式支持16位的图像,所以保存这类图像时,保存类型就是uint16。文件格式:bmp、jpg、pcx、tif。图像的保存图像的保存一般有四种方式:ⅰ.从菜单保存可以保存为fig,egs,jpeg,gif,png,bmp等格式ⅱ.复制粘贴Edit>copyfigure,再粘贴其他程序。ⅲ.Saveas函数Saveas(gca,filename,fileformat)ⅳ.print函数图像类型的相互转换图2-3图像类型转换图RGB图像→灰度图像I=rgb2gray(rgb)RGB图像→索引图像[x,map]=rgb2ind(RGB)[x,map]=rgb2ind(RGB,tol)tol范围(0,1)[x,map]=rgb2ind(RGB,n)n范围(0,1)X=rgb2ind(RGB,map)[]=rgb2ind(…,dither-option)RGB图像→二值图像bw=im2bw(I,map,level);bw=im2bw(I,level);bw=im2bw(rgb,level);索引图像→RGB图像RGB=ind2rgb索引图像→灰度图像I=ind2gray(x,map)灰度图像→索引图像[x,map]=gray2ind(I,n)颜色默认64灰度图像→二值图像bw=im2bw(I);调试分析图像读取图3-1图像读取图像显示索引图像显示图3-2索引图像显示灰度图像显示图3-3灰度图像显示二值图像显示图3-4二值图像显示RGB图像显示图3-5RGB图像显示图像类型的相互转换RGB图像→灰度图像图3-6RGB图像转换为灰度图像RGB图像→索引图像图3-7RGB图像转换为索引图像RGB图像→二值图像图3-8RGB图像转换为二值图像索引图像→灰度图像图3-9索引图像转换为二值图像灰度图像→索引图像图3-10灰度图像转换为索引图像灰度图像→二值图像图3-11灰度图像转换为二值图像附录(程序清单及使用图像)图像的读取I=imread('E:\图片\1.jpg','jpg');%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中imshow(I);title('原图像');图像的显示索引图像显示I=imread('D:\shiyan\MATLAB2013B\suoyin.jpg','jpg');%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中image(I);title('原图像');colormap(map);灰度图像显示按最大灰度范围显示I=imread('D:\shiyan\MATLAB2013B\huidu.jpg','jpg');%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中imshow(I,[]);title('原图像');colorbar二值图像显示显示二值图像bw=imread('D:\shiyan\MATLAB2013B\erzhi.jpg','jpg');%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中imshow(bw);title('原图像');colorbarRGB图像显示rgb=imread('E:\图片\1.jpg','jpg');%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中imshow(rgb);以图像文件的形式输出(图像文件形式之间的转换)将tif图像保存为jpg图像[x,map]=imread('picture.tif'); imwrite(x,map,'picture.jpg','JPG','Quality',75)图像类型的相互转换RGB图像→灰度图像[X,map]=imread('E:\图片\1.jpg');subplot(211),imshow(X);I=rgb2gray(X);subplot(212),imshow(I,map)RGB图像→索引图像RGB=imread('E:\图片\1.jpg','jpg');subplot(211),imshow(RGB);[X,map]=rgb2ind(RGB,8);subplot(212),imshow(X,map)RGB图像→二值图像RGB=imread('E:\图片\1.jpg','jpg');subplot(211),imshow(RGB);level=graythresh(RGB);BW=im2bw(RGB,level);subplot(212),imshow(BW)索引图像→灰度图像I=imread('E:\图片\1.jpg','jpg');%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中[K,map]=rgb2ind(I,8);Y=ind2gray(K,map);imshow(Y);灰度图像→索引图像I=imread('E:\图片\1.jpg','jpg');%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中K=rgb2gray(I);Y=gray2ind(K);subplot(311),imshow(I);subplot(312),imshow(K);subplot(313),imshow(Y);灰度图像→二值图像I=imread('E:\图片\1.jpg','jpg');%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中K=rgb2gray(I);Y=im2bw(K);subplot(311),imshow(I);subplot(312),imshow(K);subplot(313),imshow(Y);原图像图4-1原图像E:\图片\1.jpg图4-2D:\shiyan\MATLAB2013B\suoyin.jpg图4-3D:\shiyan\MATLAB2013B\huidu.jpg

图4-4D:\shiyan\MATLAB2013B\erzhi.jpg

课程设计总结ⅰ.在软件流程测试的初期阶段,图片显示环节

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论