(整理)MATLAB图像显示与格式转换.
- 格式:doc
- 大小:4.42 MB
- 文档页数:20
MATLAB图像处理基础教程第一章:MATLAB图像处理简介MATLAB(Matrix Laboratory)是一种强大的数值计算和数据可视化软件,广泛应用于各个领域,包括图像处理。
图像处理是一门研究如何对数字图像进行分析、增强、重建和压缩的学科。
本教程将引导读者逐步了解MATLAB图像处理的基本概念和技术。
第二章:MATLAB图像的读取与显示在MATLAB中,可以使用imread函数读取不同格式的图像文件,并使用imshow函数显示图像。
此外,还可以使用imfinfo函数获取图像的详细信息,如分辨率、颜色空间和位深度等。
第三章:图像的灰度处理灰度处理是一种常见的图像预处理方法。
通过将彩色图像转换为灰度图像,可以减少图像的数据量,简化图像处理的复杂性。
在MATLAB中,可以使用rgb2gray函数将彩色图像转换为灰度图像,并使用imhist函数查看灰度图像的直方图。
第四章:图像的滤波处理滤波是一种常用的图像处理操作,用于对图像进行平滑、增强或去噪。
MATLAB提供了各种滤波函数,如均值滤波、中值滤波和高斯滤波等。
可以根据具体需求选择合适的滤波方法,并使用imfilter函数进行滤波处理。
第五章:图像的二值化处理图像的二值化是将图像转换为黑白两色的过程,常用于物体检测、识别和分割等应用。
在MATLAB中,可以使用im2bw函数将灰度图像转换为二值图像,并可以调整阈值来控制二值化的效果。
第六章:图像的几何变换几何变换是一种常见的图像处理操作,用于对图像进行旋转、缩放、平移和翻转等操作。
MATLAB提供了imrotate、imresize、imtranslate和flip函数等实现各种几何变换。
通过组合这些函数,可以实现复杂的图像变换。
第七章:图像的特征提取图像的特征提取是图像处理中的重要步骤,用于从图像中提取出具有代表性的信息。
在MATLAB中,可以使用各种特征提取函数,如imgradient、imhistogram和imcontour等。
课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院题目:利用MATLAB仿真软件进行图像的输入、输出和格式变换要求完成的主要任务:读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换课程设计的目的:1.理论目的课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。
2.实践目的课程设计的目的之二是通过设计具体的图像信号变换掌握图像和信号处理的方法和步骤。
课程设计的要求:每个学生单独完成课程设计内容,并写出课程设计说明书、给出程序清单,最后通过课程设计答辩。
时间安排:指导教师签名:年月日系主任(或责任教师)签字:年月日目录摘要 (I)Abstract (II)1设计项目要求与说明 (1)1.1设计项目要求 (1)1.2Matlab简介及其在图像处理与分析的应用 (1)1.2.1Matlab简介 (1)1.2.2数字图像及其处理 (1)1.2.3Matlab在图像处理与分析的应用 (3)2软件流程分析 (6)2.1图像的读取 (6)2.2图像的显示 (6)2.2.1以图像形式输出(图像的显示) (6)2.2.2索引图像的显示 (7)2.2.3灰度图像的显示 (7)2.2.4二值图像的显示 (7)2.2.5RGB图像的显示 (7)2.2.6以图像文件的形式输出(图像文件形式之间的转换) (7)2.3图像的保存 (8)2.4图像类型的相互转换 (9)2.4.1RGB图像→灰度图像 (9)2.4.2RGB图像→索引图像 (9)2.4.3RGB图像→二值图像 (9)2.4.4索引图像→RGB图像 (9)2.4.5索引图像→灰度图像 (10)2.4.6灰度图像→索引图像 (10)2.4.7灰度图像→二值图像 (10)3调试分析 (11)3.1图像读取 (11)3.2图像显示 (12)3.2.1索引图像显示 (12)3.2.2灰度图像显示 (12)3.2.3二值图像显示 (13)3.2.4RGB图像显示 (13)3.3图像类型的相互转换 (14)3.3.1RGB图像→灰度图像 (14)3.3.2RGB图像→索引图像 (14)3.3.3RGB图像→二值图像 (15)3.3.4索引图像→灰度图像 (15)3.3.5灰度图像→索引图像 (16)3.3.6灰度图像→二值图像 (16)4附录(程序清单及使用图像) (17)4.1图像的读取 (17)4.2图像的显示 (17)4.2.1索引图像显示 (17)4.2.2灰度图像显示 (17)4.2.3二值图像显示 (17)4.2.4RGB图像显示 (17)4.3以图像文件的形式输出(图像文件形式之间的转换) (18)4.4图像类型的相互转换 (18)4.4.1RGB图像→灰度图像 (18)4.4.2RGB图像→索引图像 (18)4.4.3RGB图像→二值图像 (18)4.4.4索引图像→灰度图像 (18)4.4.5灰度图像→索引图像 (19)4.4.6灰度图像→二值图像 (19)4.5原图像 (19)5课程设计总结 (22)6参考资料 (23)摘要MATLAB语言是由美国MathWorks公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近几年来在国内外广泛流行的一种可视化科学计算软件。
第四章图像显示M a t l a b进行图像处理的步骤如下:↓↓↓↓【目录】一、读图像和图像信息 (2)1、读取图像 (2)2、读取图像信息 (4)二、图像显示 (6)1、i m s h o w(I,n) (6)2、i m s h o w(I,[l o w,h i g h]) (7)3、i m s h o w(B W) (8)4、i m s h o w(X,M A P) (12)5、i m s h o w(R G B) (13)6、显示多帧图像序列 (14)7、i m s h o w f i l e n a m e (17)8、s u b i m a g e (17)三、保存图像 (18)1、i m w r i t e函数 (18)四、图像数据格式转换 (19)07-11、索引图像 (19)2、灰度图像 (19)3、真彩色图像 (20)4、二值图像 (20)一、读图像和图像信息1、读取图像函数i m r e a d可以从任何M a t l a b支持的图像文件格式中,以任意位深度读取一幅图像。
格式为:[X,M A P]=i m r e a d('F I L E N A M E.F M T'),其中:F I L E N A M E-为需要读入的图像文件名称,F M T-为图像格式。
【例】图像读取演示[X1,M A P1]=i m r e a d('演示图像-1位黑白.t i f');[X2,M A P2]=i m r e a d('演示图像-8位灰度.t i f');[X3,M A P3]=i m r e a d('演示图像-256色.t i f');[X4,M A P4]=i m r e a d('演示图像-16位灰度.t i f');[X5,M A P5]=i m r e a d('演示图像-24位色.t i f');[X6,M A P6]=i m r e a d('演示图像-48位色.t i f');07-207-3w h o sN a m e S i z e B y t e s C l a s sM A P10x00d o u b l e a r r a yM A P20x00d o u b l e a r r a yM A P3256x36144d o u b l e a r r a yM A P40x00d o u b l e a r r a yM A P50x00d o u b l e a r r a yM A P60x00d o u b l e a r r a yX1427x427182329l o g i c a l a r r a yX2427x427182329u i n t8a r r a yX3427x427182329u i n t8a r r a yX4427x427364658u i n t16a r r a yX5427x427x3546987u i n t8a r r a yX6427x427x31093974u i n t16a r r a yG r a n d t o t a l i s1824058e l e m e n t s u s i n g2558750b y t e s2、读取图像信息可以通过调用i m f i n f o函数获得与图像文件有关的信息,格式如下:I N F O=i m f i n f o('F I L E N A M E.F M T')其中:返回的I N F O是M a t l a b的一个结构体。
课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目:MATLAB仿真软件进行图像的输入、输出和格式变换。
初始条件:1.仿真软件matlab2.数字信号处理与图像处理基础知识。
要求完成的主要任务:MATLAB仿真软件进行图像的输入、输出和格式变换。
要求:读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换。
时间安排:第15周:理论讲解。
第17周:理论设计,仿真调试,撰写试验报告,准备答辩。
第18周:答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录1.图像的格式及类型 (5)2.图像的输入 (7)2.1从图形图像上读取数据 (7)3.图像的输出 (8)3.1以图像形式输出 (8)3.1.1索引图像的显示 (8)3.1.2灰度图像的显示 (9)3.1.3二值图像的显示 (9)3.1.4 RGB图像的显示 (10)3.2以图像文件的形式输出 (11)4.图像的保存 (12)5.图像的格式转换 (14)5.1 RGB转换成灰度图像 (14)5.2 灰度图像转换为索引图像 (15)5.3 灰度图像转化为二值图像 (15)5.4 RGB图像转化为索引图像 (16)小结与体会 (17)参考文献 (18)摘要MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。
本次课程设计就是利用MATLAB来进行读取,保存和显示不同格式的图像,并进行图像格式的相互变换,包括了索引图像、灰度图像、RGB图像和二值图像的相互转换的应用。
实验一MATLAB数字图像处理初步一、实验目的1、熟悉及掌握在MATLAB中能够处理哪些格式图像。
2、熟练掌握在MATLAB中读取图像,并获取图像的大小、颜色、高度、宽度等等相关信息。
3、掌握在MATLAB中按照指定要求存储一幅图像的方法。
4、熟悉数字图像矩阵的格式转换二、实验原理及知识点1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。
图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类: 亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double类,则像素取值就是浮点数。
规定双精度型归一化亮度图像的取值范围是[0,1](2) 二值图像一幅二值图像是一个取值只有0和1的逻辑数组。
而一幅取值只包含0和1的uint8类数组,在MATLAB中并不认为是二值图像。
MATLAB实验一:图像的输入与输出实验目的本实验的目的是学习如何在MATLAB中进行图像的读取、显示和保存等基本操作,了解不同图像格式的特点和使用场景。
实验内容图像读取与显示在MATLAB中,可以通过imread()函数读取图像。
例如,读取一张名为“lena.png”的图像:lena = imread('lena.png');读取的图像将以矩阵的形式存储在lena变量中,可以通过imshow()函数将其显示:imshow(lena);执行以上代码,会打开一个名为“lena”的窗口,显示读取的图像。
除了常见的PNG格式外,MATLAB还支持读取JPG、BMP、TIFF等多种图像格式。
对于不同的格式,imread()函数可能需要不同的参数设置。
例如,对于JPG 格式的图像,可以通过指定“jpg”字符串来读取:lena_jpg = imread('lena.jpg', 'jpg');图像保存在MATLAB中,可以通过imwrite()函数将图像保存到文件中。
例如,将lena变量保存为PNG格式的文件:imwrite(lena, 'lena_copy.png');执行以上代码,会在当前文件夹生成一个名为“lena_copy.png”的文件,其中包含了lena变量所表示的图像。
与imread()函数类似,imwrite()函数也支持多种图像格式。
例如,将lena 图像保存为JPG格式:imwrite(lena, 'lena_copy.jpg', 'jpg');图像格式转换在MATLAB中,可以使用im2double()函数将图像转换为双精度浮点数格式,方便进行后续数学计算。
例如,将lena图像转换为双精度浮点数格式:lena_double = im2double(lena);同样地,im2uint8()函数可以将图像转换为8位无符号整数格式,方便进行图像处理。
随着医学影像技术和通信网络技术的发展,不同厂家的医学影像设备与医院信息化系统之间,需要统一的标准实现医学图像的存储和传输,为此DICOM(Digital Imaging and Commu-nication in Medicine)医学数字成像和通信标准应运而生[1]。
该标准包含了医学数字图像的采集、存储、通信、显示和查询等开放式的信息交换协议。
目前各种医疗影像设备(如CT,MRI,B超等)几乎都采用DICOM3.0标准存储图像文件,但DICOM格式的图像主要应用于带有相应标准接口的设备中,不是普通计算机应用软件可识别的图像格式,同时也不能在通用的图像处理软件中直接打开。
为了科研、教学和学术交流等目的,有必要将这些标准数字影像设备获取的DICOM格式图像转换成通用格式的图像文件,如BMP,TIFF,JPEG和RAW等,以便使用普通计算机对它们进行后续处理。
当前流行的图像处理软件如:Photoshop CS3,虽然已具有单幅DICOM图像的转换功能,但应用起来费时费力,需要人工手动操作完成;另外不管是CT还是 MRI成像设备产生的DICOM图像多为序列图像,要进行格式转换的图像文件数目较多,如果用Photoshop手工完成序列图像格式转换的话,工作量巨大;因此,设计一个批量完成序列图像的DICOM格式转换程序,显得十分必要。
笔者开发了一个基于MATLAB编程的自动转换程序,实现了DICOM格式的CT序列图像的批量转换,具有简单易行的特点。
1 CT 图像和CT 值CT (Computed Tomography)即电子计算机断层扫描,它①基金项目:陕西省教育厅自然科学专项项目基于增强CT的口腔癌计算机识别和辅助分析(项目编号:2013JK1173)。
作者简介:王浩军(1968,1—),女,汉,河北宁晋人,博士,副教授,研究方向:图像处理和模式识别。
杨燕(1971,8—),女,汉,陕西西安人,硕士,高工,研究方向:控制工程。
第五讲M A T L A B可视化(三)图像显示M a t l a b进行图像处理的步骤如下:↓↓↓↓【目录】一、图像文件格式 (2)1、调色板 (2)2、图像类型 (2)3、图像文件格式 (3)二、读图像和图像信息 (3)1、读取图像 (3)2、读取图像信息 (4)三、图像类别与数据格式 (6)四、图像显示 (8)1、i m s h o w(I,n) (8)2、i m s h o w(I,[l o w,h i g h]) (9)3、i m s h o w(B W) (10)4、i m s h o w(X,M A P) (14)5、i m s h o w(R G B) (15)6、i m s h o w f i l e n a m e (16)7、s u b i m a g e (17)五、保存图像 (18)1、i m w r i t e函数 (18)六、图像数据格式转换 (18)1、索引图像 (19)2、灰度图像 (19)3、真彩色图像 (19)4、二值图像 (20)【正文】一、图像文件格式1、调色板调色板是包含不同颜色的颜色表,每种颜色以红、绿、蓝三种颜色的组合来表示,图像的每一个像素对应一个数字,而该数字对应调色板中的一种颜色。
调色板的单元个数是与图像的颜色数相对应的,256色图像的调色板就有256个单元。
真彩图像的每个像素直接用R、G、B三个字节来表示颜色,因此不需要调色板。
2、图像类型3、图像文件格式二、读图像和图像信息1、读取图像函数i m r e a d可以从任何M a t l a b支持的图像文件格式中,以任意位深度读取一幅图像。
格式为:[X,M A P]=i m r e a d(F I L E N A M E,'F M T'),其中:F I L E N A M E-为需要读入的图像文件名称,F M T-为图像格式。
【例】图像读取演示[X1,M A P1]=i m r e a d('演示图像-1位黑白.t i f');[X2,M A P2]=i m r e a d('演示图像-8位灰度.t i f');[X3,M A P3]=i m r e a d('演示图像-256色.t i f');[X4,M A P4]=i m r e a d('演示图像-16位灰度.t i f');[X5,M A P5]=i m r e a d('演示图像-24位色.t i f');[X6,M A P6]=i m r e a d('演示图像-48位色.t i f');w h o sN a m e S i z e B y t e s C l a s sM A P10x00d o u b l e a r r a yM A P20x00d o u b l e a r r a yM A P3256x36144d o u b l e a r r a yM A P40x00d o u b l e a r r a yM A P50x00d o u b l e a r r a yM A P60x00d o u b l e a r r a yX1427x427182329l o g i c a l a r r a yX2427x427182329u i n t8a r r a yX3427x427182329u i n t8a r r a yX4427x427364658u i n t16a r r a yX5427x427x3546987u i n t8a r r a yX6427x427x31093974u i n t16a r r a yG r a n d t o t a l i s1824058e l e m e n t s u s i n g2558750b y t e s2、读取图像信息可以通过调用i m f i n f o函数获得与图像文件有关的信息,格式如下:I N F O=i m f i n f o(F I L E N A M E,'F M T')其中:返回的I N F O是M a t l a b的一个结构体。
【例】查看图像信息I N F O=i m f i n f o('演示图像-48位色.t i f')I N F O=F i l e n a m e:[1x36c h a r]F i l e M o d D a t e:'23-M a y-200422:14:23'F i l e S i z e:1107548F o r m a t:'t i f'F o r m a t V e r s i o n:[]W i d t h:427H e i g h t:427B i t D e p t h:48C o l o r T y p e:'t r u e c o l o r'F o r m a t S i g n a t u r e:[7373420]B y t e O r d e r:'l i t t l e-e n d i a n'N e w S u b f i l e T y p e:0B i t s P e r S a m p l e:[161616]C o m p r e s s i o n:'U n c o m p r e s s e d'P h o t o m e t r i c I n t e r p r e t a t i o n:'R G B'S t r i p O f f s e t s:13528S a m p l e s P e r P i x e l:3R o w s P e r S t r i p:427S t r i p B y t e C o u n t s:1093974X R e s o l u t i o n:2.7115Y R e s o l u t i o n:2.7115R e s o l u t i o n U n i t:'I n c h'C o l o r m a p:[]P l a n a r C o n f i g u r a t i o n:'C h u n k y'T i l e W i d t h:[]T i l e L e n g t h:[]T i l e O f f s e t s:[]T i l e B y t e C o u n t s:[]O r i e n t a t i o n:1F i l l O r d e r:1G r a y R e s p o n s e U n i t:0.0100M a x S a m p l e V a l u e:[655356553565535]M i n S a m p l e V a l u e:0T h r e s h o l d i n g:1N e w S u b F i l e T y p e:0S o f t w a r e:'A d o b e P h o t o s h o p7.0'D a t e T i m e:'2004:05:2322:14:23'三、图像类别与数据格式组大小:m×n 素值:[0,1]阵:p×3素值:[0,1]图像数组大小:m×n图像元素值:[0,255]色度矩阵:p×3色度元素值:[0,1]图像数组图像元素色度矩阵色度元素四、图像显示M a t l a b 的图像显示函数主要有i m s h o w 、c o l o r b a r 和s u b i m a g e 三个。
1、i m s h o w (I ,n )显示灰度级为n 的图像,n 缺省为256。
【例】按256灰度级显示I=i m r e a d('m o o n.t i f');i m s h o w(I,256)25020015010050度级显示I=i m r e a d('m o o n.t i f');i m s h o w(I,8)25020015010050I,[l o w,h i g h])以灰度范围[l o w,h i g h]显示图像,如果不知道灰度范围,可以用i m s h o w(I,[])显示。
【例】按最大灰度范围显示I=i m r e a d('m o o n.t i f');i m s h o w(I,[])25020015010050灰度范围显示I=i m r e a d('m o o n.t i f');i m s h o w(I,[64,128])120110100908070B W)显示二值图像。
【例】双精度灰度图像b w1=z e r o s(100,100);b w1(2:2:98,2:2:98)=1;i m s h o w(b w1);w h o s b w1N a m e S i z e B y t e s C l a s sb w1100x10080000d o u b l e a r r a yG r a n d t o t a l i s10000e l e m e n t s u s i n g80000b y t e s【例】8位的灰度图像b w1=z e r o s(100,100);b w1(2:2:98,2:2:98)=1;b w2=u i n t8(b w1);i m s h o w(b w2,[]);c o l o r b a rw h o s b w2N a m e S i z e B y t e s C l a s sb w2100x10010000u i n t8a r r a y10.90.80.70.60.50.40.30.20.1值图像b w1=z e r o s(100,100);b w1(2:2:98,2:2:98)=1;b w2=u i n t8(b w1);b w3=b w2~=0;i m s h o w(b w3);w h o s b w3N a m e S i z e B y t e s C l a s sb w3100x10010000l o g ic a l a r r a yG r a n d t o t a l i s10000e l e m e n t s u s i n g10000b y t e s【例】显示二值图像B W=i m r e a d('c i r c l e s.t i f');i m s h o w(B W);【例】取反显示二值图像B W=i m r e a d('c i r c l e s.t i f');i m s h o w(~B W);【例】显示二值图像c l fB W=i m r e a d('c i r c l e s.t i f');i m s h o w(B W,[100;001]);4、i m s h o w(X,M A P)显示索引图像,X为数据图像矩阵,M A P为调色板。