实验八MATLAB 图像处理工具箱(华农你懂得)
- 格式:doc
- 大小:2.37 MB
- 文档页数:9
三天三夜72小时:(2015.9.11~13)读懂题目-》查找文献资料-》选择题目-》重查找文献资料-》精读其中几篇-》查找资料的资料。
(资料查找+现学现用)要想竞赛获奖,所写论文中需要亮点和特色。
参考资料:《Matlab图像处理与应用》高成主编,2007.04 校超星数字图书馆可阅读。
Matlab图像处理工具箱使用简介基本概念:数字图像指的是一个被采样和量化后的二维函数,采用等距离矩形网格采样,对幅度进行等间量化而成。
至此,一幅数字图像是一个被量化的采样数值的二维矩阵。
将一幅二维的图像通过有限个离散点来表示就成为了数字图像,其中的每个点称为图像元素,即像素。
数字图像处理图像处理:图像输入→图像增强/复原/编码等→图像输出图像识别:图像输入→图像预处理→图像分割→特征提取→图像分类→识别结果输出图像理解:图像输入→图像预处理→图像描述→图像分析和理解→图像解释图像处理算法被认作数学建模十大算法之一。
学、信息论、控制论、物理学、心理学和生理学等学科的一门综合性边缘科学。
随着计算机科学的迅猛发展,以及与近代发展的新理论如小波分析、马尔柯夫随机场、分形学、数学形态学、人工智能和人工神经网络等的结合,计算机图像处理与分析近年来获得了长足的进展,呈现出强大的生命力。
已在科学研究、工农业生产、军事技术、医疗卫生、教育等许多领域得到广泛应用,产生了巨大的经济和社会效益,对推动社会发展,改善人们生活水平都起到了重要的作用。
计算机图像处理的应用领域计算机图像处理和计算机、多媒体、智能机器人、专家系统等技术的发展紧密相关。
近年来计算机识别、理解图像的技术发展很快,也就是图像处理的目的除了直接供人观看(如医学图像是为医生观看作诊断)外,还进一步发展了与计算机视觉有关的应用,如邮件自动分检,车辆自动驾驶等。
下面罗列—些典型应用实例,而实际应用更广。
1.在生物医学中的应用主要包括显微图像处理;DNA显示分析;红、白血球分析计数;虫卵及组织切片的分析;癌细胞识别;染色体分析;心血管数字减影及其他减影技术;内脏大小形状及异常检测;微循环的分析判断;心脏活动的动态分析;热像、红外像分析;x光照片增强、冻结及伪彩色增强;超声图像成像、冻结、增强及伪彩色处理;CT、MRI、γ射线照相机、正电子和质子CT的应用;专家2.遥感航天中的应用军事侦察、定位、导航、指挥等应用;多光谱卫星图像分析,地形、地图、国土普查;地质、矿藏勘探;森林资源探查、分类、防火;水利资源探查,洪水泛滥监测;海洋、渔业方面如温度、渔群的监测、预报;农业方面如谷物估产、病虫害调查;自然灾害、环境污染的监测,气象、天气预报图的合成分折预报;天文、太空星体的探测及分析;交通、空中管理、铁路选线等。
实验一 Matlab及其图像处理工具箱的使用一、实验目的与要求1.熟悉常用图像的格式和类型。
2.熟练掌握在MATLAB中如何读取和保存图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何进行图像间转化。
5.掌握如何实时获取USB2.0摄像头采集的视频图像。
二、实验内容及步骤1.利用imread函数读取一幅图像,设名为cameraman.tif,存入一个数组中;I=imread(‘cameraman.tif’); % 读入原图像,tif格式2.利用whos 命令提取该读入图像cameraman.tif的基本信息;whos I;%显示图像I的基本信息3.利用imshow()函数来显示这幅图像;imshow(I) %显示图像前三步综合程序:>> I=imread('cameraman.tif');>> whos IName Size Bytes Class AttributesI 256x256 65536 uint8>> imshow(I)步骤三图像:4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;程序:>> imfinfo cameraman.tifans =Filename:'D:\Program Files\MA TLAB\R2009a\toolbox\images\imdemos\cameraman.tif'FileModDate: '04-十二月-2000 13:57:54'FileSize: 65240Format: 'tif'FormatV ersion: []Width: 256Height: 256BitDepth: 8ColorType: 'grayscale'FormatSignature: [77 77 42 0]ByteOrder: 'little-endian'NewSubFileType: 0BitsPerSample: 8Compression: 'PackBits'PhotometricInterpretation: 'BlackIsZero'StripOffsets: [8x1 double]SamplesPerPixel: 1RowsPerStrip: 32StripByteCounts: [8x1 double]XResolution: 72YResolution: 72ResolutionUnit: 'None'Colormap: []PlanarConfiguration: 'Chunky'TileWidth: []TileLength: []TileOffsets: []TileByteCounts: []Orientation: 1FillOrder: 1GrayResponseUnit: 0.0100MaxSampleV alue: 255MinSampleV alue: 0Thresholding: 1Offset: 64872ImageDescription: [1x112 char]5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
MATLAB工具箱的使用MATLAB®是一种强大的科学计算软件,广泛应用于各个领域的数学建模、数据分析、仿真和算法开发等工作中。
为了满足不同领域的需求,MATLAB提供了许多不同的工具箱。
这些工具箱包含了各种不同领域的函数和工具,可以帮助用户更加高效地进行数据处理、模拟和算法开发等工作。
下面将介绍几个常用的MATLAB工具箱,以及它们的使用方法:1.信号处理工具箱(Signal Processing Toolbox):这个工具箱提供了一系列处理数字信号的函数和工具。
用户可以使用这些函数和工具进行信号滤波、功率谱估计、频谱分析、时间频率分析等操作。
该工具箱还提供了许多基本信号处理算法,如滤波器设计、卷积和相关等。
例如,用户可以使用`filtfilt(`函数对信号进行零相移滤波,以去除噪声。
2.图像处理工具箱(Image Processing Toolbox):图像处理工具箱提供了一系列处理数字图像的函数和工具。
用户可以使用这些函数和工具进行图像的读取、显示、修改、增强和分析等操作。
该工具箱包含了许多常用的图像处理算法,如图像滤波、边缘检测、形态学处理和图像分割等。
例如,用户可以使用`imread(`函数读取图像,然后使用`imshow(`函数显示图像。
3.控制系统工具箱(Control System Toolbox):这个工具箱提供了一系列用于分析和设计控制系统的函数和工具。
用户可以使用这些函数和工具进行控制系统的建模、稳定性分析、根轨迹设计和频域分析等操作。
该工具箱还提供了许多常用的控制系统设计方法,如PID控制器设计和状态空间控制器设计等。
例如,用户可以使用`tf(`函数创建传递函数模型,然后使用`step(`函数绘制系统的阶跃响应。
4.优化工具箱(Optimization Toolbox):优化工具箱提供了一系列用于求解优化问题的函数和工具。
用户可以使用这些函数和工具进行线性规划、非线性规划和整数规划等操作。
MATLAB工具箱的功能及使用方法引言:MATLAB是一种常用的用于数值计算和科学工程计算的高级计算机语言和环境。
它的灵活性和强大的计算能力使得它成为工程师、科学家和研究人员的首选工具之一。
而在MATLAB中,工具箱则提供了各种专业领域的功能扩展,使得用户能够更方便地进行数据分析、信号处理、优化和控制系统设计等任务。
本文将介绍MATLAB工具箱的一些常见功能及使用方法,并探讨其在不同领域中的应用。
一、图像处理工具箱图像处理工具箱(Image Processing Toolbox)是MATLAB的核心工具之一,它提供了一套强大的函数和算法用于处理和分析数字图像。
在图像处理方面,可以使用MATLAB工具箱实现各种操作,如图像增强、降噪、边缘检测、图像分割等。
其中最常用的函数之一是imread,用于读取图像文件,并将其转换为MATLAB中的矩阵形式进行处理。
此外,还有imwrite函数用于将处理后的图像保存为指定的文件格式。
二、信号处理工具箱信号处理工具箱(Signal Processing Toolbox)是用于处理连续时间和离散时间信号的工具箱。
它提供了一系列的函数和工具用于信号的分析、滤波、变换和频谱分析等操作。
在该工具箱中,最常用的函数之一是fft,用于计算信号的快速傅里叶变换,从而获取信号的频谱信息。
此外,还有滤波器设计函数,用于设计和实现各种数字滤波器,如低通滤波器、高通滤波器和带通滤波器等。
三、优化工具箱优化工具箱(Optimization Toolbox)提供了解决各种优化问题的函数和算法。
MATLAB中的优化工具箱支持线性规划、非线性规划、整数规划、二次规划等多种优化问题的求解。
其中最常用的函数之一是fmincon,用于求解无约束和约束的非线性优化问题。
通过传入目标函数和约束条件,该函数可以找到满足最优性和约束条件的最优解。
四、控制系统工具箱控制系统工具箱(Control System Toolbox)用于建模、设计和分析各种控制系统。
MATLAB工具箱介绍MATLAB是一种强大的数学软件,其功能强大且灵活,可用于多种领域的数学和工程计算。
MATLAB提供了一系列的工具箱,用于扩展和增强其功能。
这些工具箱涵盖了许多领域,包括图像处理、信号处理、控制系统设计、机器学习、优化、统计分析等。
下面将对MATLAB的一些重要的工具箱进行介绍。
1. 图像处理工具箱(Image Processing Toolbox):该工具箱提供了大量的函数和工具,用于图像的处理和分析。
它允许用户加载、处理和保存图像,进行图像增强、滤波、分割、特征提取等操作。
此外,它还提供了各种图像处理算法,如边缘检测、图像配准、形态学处理等,可广泛应用于计算机视觉、医学影像、模式识别等领域。
2. 信号处理工具箱(Signal Processing Toolbox):该工具箱提供了丰富的函数和工具,用于数字信号的分析、滤波、频谱分析、信号合成等。
它包含了多种信号处理技术,如离散傅立叶变换(DFT)、离散余弦变换(DCT)、滤波器设计、自适应信号处理等。
信号处理工具箱广泛应用于语音处理、音频处理、通信系统设计等领域。
3. 控制系统工具箱(Control System Toolbox):该工具箱提供了丰富的函数和工具,用于控制系统的建模、分析和设计。
它允许用户创建传递函数、状态空间模型和分块模型,进行系统响应分析、稳定性分析、鲁棒性分析等。
控制系统工具箱还提供了多种经典和现代控制设计技术,如根轨迹法、频率响应法、状态反馈法、模糊控制等。
4. 机器学习工具箱(Machine Learning Toolbox):该工具箱提供了丰富的函数和工具,用于机器学习和模式识别任务。
它包含许多机器学习算法,如支持向量机(SVM)、朴素贝叶斯分类器、决策树、神经网络等。
机器学习工具箱还提供了数据预处理、特征选择和模型评估的功能,可用于数据挖掘、模式分类、预测分析等应用。
5. 优化工具箱(Optimization Toolbox):该工具箱提供了多种优化算法和工具,用于优化问题的求解。
图像处理工具箱1. 图像和图像数据缺省情况下, MA TLAB 将图像中的数据存储为双精度类型 (double, 64位浮点数,所需存储量很大; MA TLAB 还支持另一种类型无符号整型 (uint8,即图像矩阵中每个数据占用 1个字节。
在使用 MATLAB 工具箱时,一定要注意函数所要求的参数类型。
另外, uint8 与 double 两种类型数据的值域不同,编程需注意值域转换。
从 uint8到 double 的转换---------------------------------------------图像类型 MATLAB 语句---------------------------------------------索引色 B=double(A+1索引色或真彩色 B=double(A/255二值图像 B=double(A---------------------------------------------从 double 到 uint8的转换---------------------------------------------图像类型 MATLAB 语句---------------------------------------------索引色 B=uint8(round(A-1索引色或真彩色 B=uint8(round(A*255二值图像 B=logical(uint8(round(A---------------------------------------------2. 图像处理工具箱所支持的图像类型2.1 真彩色图像R 、 G 、 B 三个分量表示一个像素的颜色。
如果要读取图像中 (100,50处的像素值, 可查看三元数据 (100,50,1:3。
真彩色图像可用双精度存储,亮度值范围是 [0,1];比较符合习惯的存储方法是用无符号整型存储,亮度值范围 [0,255]2.2 索引色图像包含两个结构,一个是调色板,另一个是图像数据矩阵。
实验八 MATLAB 图像处理工具箱一、实验目的1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.掌握图像间如何转化。
二、实验原理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中并不认为是二值图像。
使用logical函数可以把数值数组转化为二值数组或逻辑数组。
创建一个逻辑图像,其语法为:B=logical(A)其中,B是由0和1构成的数值数组。
要测试一个数组是否为逻辑数组,可以使用函数:islogical(c)若C是逻辑数组,则该函数返回1;否则,返回0。
(3) 索引图像索引颜色通常也称为映射颜色,在这种模式下,颜色都是预先定义的,并且可供选用的一组颜色也很有限,索引颜色的图像最多只能显示256种颜色。
一幅索引颜色图像在图像文件里定义,当打开该文件时,构成该图像具体颜色的索引值就被读入程序里,然后根据索引值找到最终的颜色。
(4) RGB图像一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色相似点都是在特定空间位置的彩色图像相对应的红、绿、蓝三个分量。
按照惯例,形成一幅RGB彩色图像的三个图像常称为红、绿或蓝分量图像。
令fR,fG和fB分别代表三种RGB分量图像。
一幅RGB图像就利用cat(级联)操作将这些分量图像组合成彩色图像:rgb_image=cat(3,fR,fG,fB)在操作中,图像按顺序放置。
2、数据类和图像类型间的转化表1中列出了MATLAB和IPT为表示像素所支持的各种数据类。
表中的前8项称为数值数据类,第9项称为字符类,最后一项称为逻辑数据类。
工具箱中提供了执行必要缩放的函数(见表2)。
以在图像类和类型间进行转化。
表1-1 MATLAB和IPT支持数据类型表1-2 格式转换函数下面给出读取、压缩、显示一幅图像的程序(%后面的语句属于标记语句,编程时可不用输入)I=imread(‘原图像名.tif’); % 读入原图像,tif格式whos I % 显示图像I的基本信息imshow(I) % 显示图像imfinfo filename imwrite(I,'filename.jpg','quality',q);%用于jpg格式,压缩存储图像,q是0-100之间的整数imwrite(I,'filename.bmp'); % 以位图(BMP)的格式存储图像% 显示多幅图像,其中n为图形窗口的号数figure(n), imshow('filename');gg=im2bw('filename'); % 将图像转为二值图像figure, imshow(gg) % 显示二值图像三、实验内容1.利用imread()函数读取一幅图像,假设其名为flower.tif,存入一个数组中;>>A=imread('flower.jpg')2.利用whos 命令提取该读入图像flower.tif的基本信息;>> whos AName Size Bytes ClassA 1200x1600x3 5760000 uint8 arrayGrand total is 5760000 elements using 5760000 bytes3.利用imshow()函数来显示这幅图像;>> imshow(A)Warning: Image is too big to fit on screen; displaying at 56% scale.> In C:\MATLAB6p5\toolbox\images\images\truesize.m (Resize1) at line 302 In C:\MATLAB6p5\toolbox\images\images\truesize.m at line 40In C:\MATLAB6p5\toolbox\images\images\imshow.m at line 1684.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;imfinfo flower.tifans =Filename: 'flower.tif'FileModDate: '31-五月-2012 17:49:15'FileSize: 6777Format: 'jpg'FormatVersion: ''Width: 173Height: 129BitDepth: 24ColorType: 'truecolor'FormatSignature: ''NumberOfSamples: 3CodingMethod: 'Huffman'CodingProcess: 'Sequential'Comment: {}5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg 文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
imwrite(I,'flower.jpg','quality',10);% 这种格式知识用于jpg格式,压缩存储图像,q是0-100之间的整数figure(2), imshow('flower.jpg');imwrite(I,'flower2.jpg','quality',50);figure(3), imshow('flower2.jpg'); % 显示多幅图像,其中n为图形窗口的号数6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。
imwrite(I,'flower.bmp');7.用imread()读入图像:Lenna.jpg 和camema.jpg;>> Q=imread('Lenna.jpg');>> P=imread('camema.jpg');8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;>> imfinfo Lenna.jpgans =Filename: 'Lenna.jpg'FileModDate: '12-Nov-2012 10:51:18'FileSize: 13433Format: 'jpg'FormatVersion: ''Width: 300Height: 300BitDepth: 24ColorType: 'truecolor'FormatSignature: ''Comment: {}>> imfinfo camema.jpgans =Filename: 'camema.jpg'FileModDate: '12-Nov-2012 10:51:54'FileSize: 12218Format: 'jpg'FormatVersion: ''Width: 255Height: 256BitDepth: 24ColorType: 'truecolor'FormatSignature: ''Comment: {}9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。
>> figure(1),imshow(Q)>> figure,imshow(P)10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
I=imread(‘图片1.jpg’);whos Iimshow(I)imfinfo filename imwrite(I,'filename.jpg','quality',q);imwrite(I,'filename.bmp');figure(n), imshow('filename');gg=im2bw('filename'); % 将图像转为二值图像figure, imshow(gg)四、实验心得实验图片:Fig.1 flower.tif Fig.2 elephant.jpgFig.3 Lenna.jpg Fig.4 camema.jpg。