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

下载本文档

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

文档简介

1、 目录摘要IAbstractII1 图像文件格式及图像类型111 MATLAB支持的几种图像文件格式:112 matlab几种图像类型22 图像的输入43.图像的输入63.1以图像形式输出(图像的显示)63.1.1索引图像的显示63.1.2灰度图像的显示73.1.3二值图像的显示83.1.4 RGB图像的显示83.2以图像文件的形式输出94 图像的保存115 图像类型转换135.1 RGB转换成灰度图像135.2 灰度图像转换为索引图像135.3 灰度图像转化为二值图像145.4 RGB图像转化为索引图像156 课设总结16参考文献17附录18 附录1:图像显示代码18 附录2:图像转换代码1

2、9 摘要 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB 本身就是功能强大的数据可视化工具,可以通过各种形式显示分析数据,例如灰度直方图、等高线、蒙太奇混合、像素分析、图层变换以及材质贴图等。利用可视化的图形,不仅能够评估图形图像的特性,还能够分析图像中的色彩分布等情况。 本次课程设计介就是Matlab环境下的一些最基本的图像处理操作,如读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换

3、。 关键词:MATLAB ;图像处理;图像转换 Abstract The MathWorks Inc. MATLAB is a U.S. commercial mathematics software for algorithm development, data visualization, data analysis and numerical calculation senior technical computing language and interactive environment, including MATLAB and Simulink two parts. As a p

4、owerful scientific computing platforms, it can almost satisfy all the calculations that needs. MATLAB itself is a powerful tool of data visualization that can display data through various forms, such as graylevel histogram, contours, montage mixing, pixel analysis, the layer texture and transformati

5、on. With visual graphics, it can not only evaluate image characteristics, but also analyze the distribution of color image.The curriculum is designed to refer some basic image processing operations Matlab environment, such as read, save and display images of different formats and image formats such

6、as index mutual transform images, grayscale images, RGB image and binary image conversion. Keyword: MATLAB;image operation;image exchange1 图像文件格式及图像类型11 MATLAB支持的几种图像文件格式:JPEG(Joint Photogyaphic Expeyts Group):一种称为联合图像专家组的图像压缩格式。 BMP(Windows Bitmap):有1位、4位、8位、24位非压缩图像,8位RLE(Run length Encoded)的图像。文件

7、内容包括文件头(一个BITMAP FILEHEADER数据结构)、位图信息数据块(位图信息头BITMAP INFOHEADER和一个颜色表)和图像数据。PCX(Windows Paintbrush):可处理1位、4位、8位、16位、24位等图像数据。文件内容包括文件头、图像数据和扩展色图数据。TIFF(Tagged Iamge File Format):处理1位、4位、8位、24位非压缩图像,1位、4位、8位、24位packbit压缩图像,1位CCITT压缩图像等。文件内容包括文件头、参数指针表与参数域、参数数据表和图像数据四部分。PNG(Portable Network Graphics):

8、包括1位、2位、4位、8位和16位灰度图像,8位和16位索引图像,24位和48位真彩色图像。GIF(Graphics Interchange Format):任何1位到8位的可交换的图像。HDF(Hierarchial Data Format):有8位、24位光栅图像数据集。ICO(Windows Icon resource):有1位、4位、8位非压缩图像。CUR(Windows Cursor resource):有1位、4位、8位非压缩图像。XWD(X Windows Dump):包括1位、8位Zpixmaps,XYBitmaps,XYPixmmmaps。RAS(Sun Raster ima

9、ge):有1位bitmap、8位索引、24位真彩色和带有透明度的32位真彩色。PBM(Portable Bitmap)。PGM(Portable Graymap)。PPM(Portable Pixmap)。12 matlab几种图像类型MATLAB支持五种图像类型,即二值图像、索引图像、灰度图像、RGB图像和多帧图像阵列。(1)索引图像:它的数据信息包括一个数据矩阵和一个双精度色图矩阵,它的数据矩阵中的值直接指定该点的颜色为色图矩阵中的某一种。色图矩阵中,每一行表示一种颜色,每行有三个数据,分别表示该种颜色中红、绿、蓝的比例情况,所有元素值都在0,1内。(2)灰度图像:数据矩阵中的元素值一般都

10、在0,1或0,255之间,灰度图像根据这些数据利用线性插值来和色图中的颜色种类匹配。灰度图像一般看起来是一副黑白图像,但是色彩明暗度较二值图像更为丰富。因为每一个像素点的取值在0,1或0,255之间。灰度图像读入matlab中是一个二维的平面矩阵,其中行与列的乘积代表其图片中像素点的个数。(3)二值图像:数据矩阵中的元素值只是0或1。读入matlab也是一个二维矩阵。二值图像读入matlab中也是一个二维的平面矩阵,但像素点取值只限于0,1。(4)RGB图像:图像中每个象素的颜色用三个数据来存储,分别指定红、绿、蓝三原色在象素颜色中的比例关系,组成一个三维数组,读入matlab后是一个三维的矩

11、阵。 RGB图像就是采用红、绿、蓝作为三原色的,其中R为红色,G为绿色,B为蓝色。这样这个三维矩阵A就可以表示成一个彩色矩阵,也就是一张数字图像可以在matlab中读成一个矩阵A。这个三维矩阵的第一维就是上图中第一层代表红色数值,第二维为第二层代表绿色数值,第三维为第三层代表蓝色数值。也可以这样理解:将索引图像中的数据矩阵中每一个像素点直接加载上色图矩阵中对应的颜色值。双精度类:Double(每个元素占8个字节)整数类:Unit8(每个元素占1个字节)整数类(Unit16)(每个元素占2个字节)索引图像图像数组大小:m×n图像元素取值:1,p色度矩阵:p×3色度元素值:0,

12、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图像元素

13、值: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(无调色板) 图1.2 MATLAB集中图像类型2 图像的输入MATLAB提供了一个重要的用于图像文件的读写的指令-从图像文件中读取数据的imread,imread的常见调用格式为

14、: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)  

15、0;        (CUR,ICO and TIFF only) = imread(,frames,idx)    (GIF only) = imread(,ref)           (HDF only) = imread(,BackgroundColor,BG)    (PNG only)A,map,alpha = imread()  &#

16、160;   (ICO,CUR and PNG only)上面一些参数的含义如下:idx是指读取图标(cur、ico、tiff)文件中第idx个图像,默认值为1。frame,idx是指读取gif文件中的图像帧,idx值可以是数量、向量或all。ref是指整数值。alpha是指透明度。程序如下:I=imread('天呀.jpg'); 或者是 I=imread('C:MATLABwork天呀.jpg','jpg'); 图2.1 图像的输入 3.图像的输入3.1以图像形式输出(图像的显示)以图像形式输出,其实质就是图像的显示。函数为

17、image(imshow).根据不同的图像形式,有一些不同的显示方法. 图3.1 图像输出的框图3.1.1索引图像的显示索引图像包含一个数据矩阵A,一个颜色映射矩阵map。像素颜色内数据矩阵X作为索引值向矩阵map进行索引。可以用下面代码来显示一幅索引图像:image(A)colormap(map).程序:I=imread('C:MATLABworksuoyin.jpg','jpg'); image(I); colormap(map); 图3.1.1.1 索引图像显示程序及图像3.1.2灰度图像的显示一幅灰度图像是一个数据矩阵I1imshow(I,low,hig

18、h)以灰度范围low,high显示图像,如果不知道灰度范围,可以用imshow(I,)显示。程序: I=imread('C:MATLABworkhuidu.jpg','jpg'); imshow(I,); title(原图像); colorbar; 图3.1.2.1 灰度图像显示程序及图像2 imshow(I,n)显示灰度级为n的图像,n缺省为256。程序: I=imread('C:MATLABworkhuidu.jpg','jpg'); imshow(I,256); 图3.1.2.2 灰度图像显示程序及图像3.1.3二值图像的显

19、示imshow(BW) 显示二值图像。程序: BW=imread('C:MATLABworkerzhi.jpg','jpg'); image(BW); 图3.1.3.1 二值图像显示的程序及图像3.1.4 RGB图像的显示imshow(RGB) 显示真彩色图像。程序: RGB=imread('C:MATLABworkdog2.jpg','jpg'); image(RGB); 图3.1.4.1 RGB图像显示程序及图像3.2以图像文件的形式输出以图像文件的形式输出,其实质是图像文件形式之间的转换。图 3-8 图像文件形式的输出框图格

20、式是: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。

21、4 图像的保存图像的保存一般有四种方式:1.文件保存 FileSave As,再选择保存为fig,egs,jpeg,gif,png,bmp等格式 图4.1 文件保存2.复制粘贴Edit->copy figure,在粘贴其他程序。 图4.1 复制保存3.Saveas函数 saveas(h,'filename') saveas(h,'filename' ,'format') saveas(gca,filename,fileformat) 如下图保存为文件figure1.jpg 图4.3 saveas函数保存4. print函数print( h,

22、 '-dpng', 'filename')如图print('-dpng', '9.png')表示保存为png图片,文件名为9.png, 图4.4. Print函数保存其中第一个参数可以是:-dpng:保存为png格式-dpcx:保存为pcx格式-dpdf:保存为pdf格式-dtiff:保存为tiff格式-dbmp:保存为bmp格式-djpeg:保存为jpeg格式经过save和print后,保存到: 图4.5 保存结果 5 图像类型转换图5.1 图像类型转换框图5.1 RGB转换成灰度图像程序:I=imread('C:MAT

23、LABwork天呀.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 灰度图像转化为二值图像程序:I=imread('C:MATLABworkhuidu.jpg','jpg'); K=rgb2gray(I);

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

25、以很熟练的对matlab进行常规的操作,快速进行程序编程和仿真。完成任务后才发现这次训练的内容并不算难。首先要做的工作就是熟悉matlab中的各种库函数的格式和使用方法,其次就是针对具体图像进行操作,通过观察图像的质量等方面的问题,来了解变换的效果。在这次课设中,我也发现了自己的缺陷。而且我觉得通过这种课程设计来考验我们的动脑能力的教学方式很有效。这样一方面激发了我们自主学习的兴趣,另一方面也巩固了学习到的理论知识,可以从实践中积累实际的经验,而不是老停留在理论学习的阶段。当然这次设计学到的不仅仅是知识,还有如何去查阅资料。如何去高质量的完成一份报告书等等。我觉得这样的实践对我们现在的学习以及以后的工作都是很大的帮助,而且对我分析问题的方法也有很大的帮助,也使我考虑为难更加周到,更全面。 参考文献 1徐明远.MATLAB仿真在通信与电子工程中的应用.西安电子科技大学出版社,2005.62刘文耀.数字图像采集与处理.北京:电子工业出版社.2007.3王洪元.MATLAB语言以及在电子信息工程中的应用.北京:清华大学出版社,20044贺兴华.MATLAB7.X图像处理.北京:人民邮电出版社,2006.5章毓晋.图像工程(上册)

温馨提示

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

评论

0/150

提交评论