MATLAB仿真软件进行图像的输入、输出和格式变换资料讲解_第1页
MATLAB仿真软件进行图像的输入、输出和格式变换资料讲解_第2页
MATLAB仿真软件进行图像的输入、输出和格式变换资料讲解_第3页
MATLAB仿真软件进行图像的输入、输出和格式变换资料讲解_第4页
MATLAB仿真软件进行图像的输入、输出和格式变换资料讲解_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、Good is good, but better carries it.精益求精,善益求善。MATLAB仿真软件进行图像的输入、输出和格式变换目录TOCo1-3huHYPERLINKl_Toc21702摘要PAGEREF_Toc21702IHYPERLINKl_Toc27664AbstractPAGEREF_Toc27664IIHYPERLINKl_Toc30111图像文件格式及图像类型PAGEREF_Toc30111HYPERLINKl_Toc2608611MATLAB支持的几种图像文件格式:PAGEREF_Toc260861HYPERLINKl_Toc1177212matlab几种图像类型

2、PAGEREF_Toc117722HYPERLINKl_Toc257262图像的输入PAGEREF_Toc257264HYPERLINKl_Toc23963.图像的输入PAGEREF_Toc23966HYPERLINKl_Toc158423.1以图像形式输出(图像的显示)PAGEREF_Toc158426HYPERLINKl_Toc254403.1.1索引图像的显示PAGEREF_Toc254406HYPERLINKl_Toc257063.1.2灰度图像的显示PAGEREF_Toc257067HYPERLINKl_Toc73453.1.3二值图像的显示PAGEREF_Toc73458HYPER

3、LINKl_Toc209513.1.4RGB图像的显示PAGEREF_Toc209518HYPERLINKl_Toc222873.2以图像文件的形式输出PAGEREF_Toc222879HYPERLINKl_Toc165404图像的保存PAGEREF_Toc1654011HYPERLINKl_Toc158185图像类型转换PAGEREF_Toc1581813HYPERLINKl_Toc315355.1RGB转换成灰度图像PAGEREF_Toc3153513HYPERLINKl_Toc155885.2灰度图像转换为索引图像PAGEREF_Toc1558813HYPERLINKl_Toc85.3灰

4、度图像转化为二值图像PAGEREF_Toc814HYPERLINKl_Toc317515.4RGB图像转化为索引图像PAGEREF_Toc3175115HYPERLINKl_Toc238656课设总结PAGEREF_Toc2386516HYPERLINKl_Toc2498参考文献PAGEREF_Toc249817HYPERLINKl_Toc25785附录PAGEREF_Toc2578518HYPERLINKl_Toc32592附录1:图像显示代码PAGEREF_Toc3259218HYPERLINKl_Toc1415附录2:图像转换代码PAGEREF_Toc141519摘要MATLAB是美国M

5、athWorks公司出品的商业HYPERLINK/view/1658637.htm数学软件,用于HYPERLINK/view/7420.htm算法开发、数据可视化、数据分析以及HYPERLINK/view/920695.htm数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB本身就是功能强大的数据可视化工具,可以通过各种形式显示分析数据,例如灰度直方图、等高线、蒙太奇混合、像素分析、图层变换以及材质贴图等。利用可视化的图形,不仅能够评估图形图像的特性,还能够分析图像中的色彩分布等情况。本次课程设计介就是Matlab环境下的一些最基本的图像处理操

6、作,如读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换。关键词:MATLAB;图像处理;图像转换AbstractTheMathWorksInc.MATLABisaU.S.commercialmathematicssoftwareforalgorithmdevelopment,datavisualization,dataanalysisandnumericalcalculationseniortechnicalcomputinglanguageandinteractiveenvironment,includingMATLABandSim

7、ulinktwoparts.Asapowerfulscientificcomputingplatforms,itcanalmostsatisfyallthecalculationsthatneeds.MATLABitselfisapowerfultoolofdatavisualizationthatcandisplaydatathroughvariousforms,suchasgraylevelhistogram,contours,montagemixing,pixelanalysis,thelayertextureandtransformation.Withvisualgraphics,it

8、cannotonlyevaluateimagecharacteristics,butalsoanalyzethedistributionofcolorimage.ThecurriculumisdesignedtorefersomebasicimageprocessingoperationsMatlabenvironment,suchasread,saveanddisplayimagesofdifferentformatsandimageformatssuchasindexmutualtransformimages,grayscaleimages,RGBimageandbinaryimageco

9、nversion.Keyword:MATLAB;imageoperation;imageexchange1图像文件格式及图像类型11MATLAB支持的几种图像文件格式:JPEG(JointPhotogyaphicExpeytsGroup):一种称为联合图像专家组的图像压缩格式。BMP(WindowsBitmap):有1位、4位、8位、24位非压缩图像,8位RLE(RunlengthEncoded)的图像。文件内容包括文件头(一个BITMAPFILEHEADER数据结构)、位图信息数据块(位图信息头BITMAPINFOHEADER和一个颜色表)和图像数据。PCX(WindowsPaintbrus

10、h):可处理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(Hierar

11、chialDataFormat):有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位真彩色。PBM(PortableBitmap)。PGM(PortableGraymap)。PPM(PortablePixmap)。12matlab几种图像类型

12、MATLAB支持五种图像类型,即二值图像、索引图像、灰度图像、RGB图像和多帧图像阵列。(1)索引图像:它的数据信息包括一个数据矩阵和一个双精度色图矩阵,它的数据矩阵中的值直接指定该点的颜色为色图矩阵中的某一种。色图矩阵中,每一行表示一种颜色,每行有三个数据,分别表示该种颜色中红、绿、蓝的比例情况,所有元素值都在0,1内。(2)灰度图像:数据矩阵中的元素值一般都在0,1或0,255之间,灰度图像根据这些数据利用线性插值来和色图中的颜色种类匹配。灰度图像一般看起来是一副黑白图像,但是色彩明暗度较二值图像更为丰富。因为每一个像素点的取值在0,1或0,255之间。灰度图像读入matlab中是一个二维

13、的平面矩阵,其中行与列的乘积代表其图片中像素点的个数。(3)二值图像:数据矩阵中的元素值只是0或1。读入matlab也是一个二维矩阵。二值图像读入matlab中也是一个二维的平面矩阵,但像素点取值只限于0,1。(4)RGB图像:图像中每个象素的颜色用三个数据来存储,分别指定红、绿、蓝三原色在象素颜色中的比例关系,组成一个三维数组,读入matlab后是一个三维的矩阵。RGB图像就是采用红、绿、蓝作为三原色的,其中R为红色,G为绿色,B为蓝色。这样这个三维矩阵A就可以表示成一个彩色矩阵,也就是一张数字图像可以在matlab中读成一个矩阵A。这个三维矩阵的第一维就是上图中第一层代表红色数值,第二维为

14、第二层代表绿色数值,第三维为第三层代表蓝色数值。也可以这样理解:将索引图像中的数据矩阵中每一个像素点直接加载上色图矩阵中对应的颜色值。双精度类:Double(每个元素占8个字节)整数类:Unit8(每个元素占1个字节)整数类(Unit16)(每个元素占2个字节)索引图像图像数组大小:mn图像元素取值:1,p色度矩阵:p3色度元素值:0,1图像数组大小:mn图像元素取值:0,p-1色度矩阵:p3色度元素值:0,255图像数组大小:mn图像元素取值:0,p-1色度矩阵:p3色度元素值:0,65535灰度图像图像数组大小:mn图像元素值:0,1色度矩阵:p3色度元素值:0,1图像数组大小:mn图像元

15、素值:0,255色度矩阵:p3色度元素值:0,1图像数组大小:mn图像元素值:0,65535色度矩阵:p3色度元素值:0,1二值图像图像数组大小:mn图像元素值:0或1图像数组大小:mn图像元素值:0或1真彩图像数组大小:mn3(:,:,1)红色分量(:,:,2)绿色分量(:,:,3)蓝色分量元素取值:0,1(无调色板)数组大小:mn3(:,:,1)红色分量(:,:,2)绿色分量(:,:,3)蓝色分量元素取值:0,255(无调色板)数组大小:mn3(:,:,1)红色分量(:,:,2)绿色分量(:,:,3)蓝色分量元素取值:0,65535(无调色板)图1.2MATLAB集中图像类型2图像的输入M

16、ATLAB提供了一个重要的用于图像文件的读写的指令从图像文件中读取数据的imread,imread的常见调用格式为:A=imread(filename,fmt)其作用是将文件名用字符串filename表示的,扩展名用fmt表示的图像文件中的数据读到矩阵A中。如果filename所指的为灰度级图像,则A为一个二维矩阵;如果filename所指的为RGB图像,则A为一个mn3的三维矩阵。Filename表示的文件名必须在MATLAB的搜索路径范围内,否则需指出其完整路径。imread的其他几种重要的调用格式为:X,map=imread(filename,fmt)=imread(filename)=

17、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是指透明度。程序如下:I=imread(天

18、呀.jpg);或者是I=imread(C:MATLABwork天呀.jpg,jpg);图2.1图像的输入3.图像的输入3.1以图像形式输出(图像的显示)以图像形式输出,其实质就是图像的显示。函数为image(imshow).根据不同的图像形式,有一些不同的显示方法.图3.1图像输出的框图3.1.1索引图像的显示索引图像包含一个数据矩阵A,一个颜色映射矩阵map。像素颜色内数据矩阵X作为索引值向矩阵map进行索引。可以用下面代码来显示一幅索引图像:image(A)colormap(map).程序:I=imread(C:MATLABworksuoyin.jpg,jpg);image(I);colo

19、rmap(map);图索引图像显示程序及图像3.1.2灰度图像的显示一幅灰度图像是一个数据矩阵I1imshow(I,low,high)以灰度范围low,high显示图像,如果不知道灰度范围,可以用imshow(I,)显示。程序:I=imread(C:MATLABworkhuidu.jpg,jpg);imshow(I,);title(原图像);colorbar;图灰度图像显示程序及图像2imshow(I,n)显示灰度级为n的图像,n缺省为256。程序:I=imread(C:MATLABworkhuidu.jpg,jpg);imshow(I,256);图灰度图像显示程序及图像3.1.3二值图像的显

20、示imshow(BW)显示二值图像。程序:BW=imread(C:MATLABworkerzhi.jpg,jpg);image(BW);图二值图像显示的程序及图像3.1.4RGB图像的显示imshow(RGB)显示真彩色图像。程序:RGB=imread(C:MATLABworkdog2.jpg,jpg);image(RGB);图RGB图像显示程序及图像3.2以图像文件的形式输出以图像文件的形式输出,其实质是图像文件形式之间的转换。图3-8图像文件形式的输出框图格式是:imwrite(A,filename,fmt)保存无调色板的图像imwrite(X,map,filename,fmt)保存有调色

21、板的图像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。4图像的保存图像的保存一般有四种方式:1.文件保存FileSaveAs,再选择保存为fig,egs,jpeg,gif,png,bmp等格式图4

22、.1文件保存2.复制粘贴Editcopyfigure,在粘贴其他程序。图4.1复制保存3.Saveas函数saveas(h,filename)saveas(h,filename,format)saveas(gca,filename,fileformat)如下图保存为文件figure1.jpg图4.3saveas函数保存print函数print(h,-dpng,filename)如图print(-dpng,9.png)表示保存为png图片,文件名为9.png,图4.4.Print函数保存其中第一个参数可以是:-dpng:保存为png格式-dpcx:保存为pcx格式-dpdf:保存为pdf格式-d

23、tiff:保存为tiff格式-dbmp:保存为bmp格式-djpeg:保存为jpeg格式经过save和print后,保存到:图4.5保存结果5图像类型转换图5.1图像类型转换框图5.1RGB转换成灰度图像程序:I=imread(C:MATLABwork天呀.jpg,jpg);K=rgb2gray(I);imshow(K);图5.1RGB转换成灰度图像举例5.2灰度图像转换为索引图像程序:I=imread(C:MATLABworkhuidu.jpg,jpg);K=rgb2gray(I);Y=gray2ind(K);imshow(Y);图5.2灰度图像转换为索引图像5.3灰度图像转化为二值图像程序

24、:I=imread(C:MATLABworkhuidu.jpg,jpg);K=rgb2gray(I);Y=im2bw(K);imshow(Y);图5.3灰度图像转化为二值图像举例5.4RGB图像转化为索引图像程序:I=imread(天呀.jpg);X,map=rgb2ind(I,3);imshow(X,map);图5.4RGB图像转化为索引图像6课设总结在这一次的学习、设计过程中我学会很多。这次课程设计,让我充分利用所学过的理论知识还有自己想象的能力,让我们学习查找资料的方法。通过课设,我认识到了matlab的功能非常强大,使得我们在使用的时候用户直接调用这些库函数并赋予实际参数就能解决实际问

25、题,具有极高的编程效率。我也熟悉了matlab的工作环境,可以很熟练的对matlab进行常规的操作,快速进行程序编程和仿真。完成任务后才发现这次训练的内容并不算难。首先要做的工作就是熟悉matlab中的各种库函数的格式和使用方法,其次就是针对具体图像进行操作,通过观察图像的质量等方面的问题,来了解变换的效果。在这次课设中,我也发现了自己的缺陷。而且我觉得通过这种课程设计来考验我们的动脑能力的教学方式很有效。这样一方面激发了我们自主学习的兴趣,另一方面也巩固了学习到的理论知识,可以从实践中积累实际的经验,而不是老停留在理论学习的阶段。当然这次设计学到的不仅仅是知识,还有如何去查阅资料。如何去高质量的完成一份报告书等等。我觉得这样的实践对我们现在的学习以及以后的工作都是很大的帮助,而且对我分析问题的方法也有很大的帮助,也使我考虑为难更加

温馨提示

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

评论

0/150

提交评论