第6章 MATLAB图像处理

上传人:我*** 文档编号:137676594 上传时间:2020-07-11 格式:PPT 页数:44 大小:1.46MB
返回 下载 相关 举报
第6章 MATLAB图像处理_第1页
第1页 / 共44页
第6章 MATLAB图像处理_第2页
第2页 / 共44页
第6章 MATLAB图像处理_第3页
第3页 / 共44页
第6章 MATLAB图像处理_第4页
第4页 / 共44页
第6章 MATLAB图像处理_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《第6章 MATLAB图像处理》由会员分享,可在线阅读,更多相关《第6章 MATLAB图像处理(44页珍藏版)》请在金锄头文库上搜索。

1、第6章 MATLAB图像处理,MATLAB的特点是语法结构简单,数值计算高效,图形功能完备,特别受到以完成数据处理与图形图像生成为主要目的的科研人员的青睐。,随着MATLAB在各个工程领域应用的日益广泛,专家学者们相继推出了一系列的工具箱,来处理相应领域的具体问题。,Communications Control System Curve Fitting Data Acquisition Database Filter Design Financial Fuzzy Logic Image Processing Instrument Control LMI Control Mapping Mode

2、l Predictive Control,Mu-Analysis and Synthesis Neural Network Optimization Partial Differential Equation Robust Control Signal Processing Spline Statistics Symbolic Math System Identification Virtual Reality Wavelet,Matlab Toolboxes,Communications Control System Curve Fitting Data Acquisition Databa

3、se Filter Design Financial Fuzzy Logic Image Processing Instrument Control LMI Control Mapping Model Predictive Control,通信 控制系统 曲线拟合 数据采集 数据库 滤波器设计 金融 模糊逻辑 图像处理 仪器控制 线性矩阵不等(式)控制 映射 模型预测控制,Matlab Toolboxes,神经网络 最优化 偏微分方程 鲁棒控制 信号处理 样条(曲线拟合分析) 统计学 符号数学 系统识别 虚拟现实 小波(分析),Matlab Toolboxes,Neural Network O

4、ptimization Partial Differential Equation Robust Control Signal Processing Spline Statistics Symbolic Math System Identification Virtual Reality Wavelet,图像处理工具箱提供了丰富的图像处理函数,主要完成以下功能: 图像的几何操作 图像的邻域和图像块操作 线性滤波和滤波器设计 图像变换 图像分析与增强 二值图像操作 感兴趣区域处理,MATLAB图像工具箱提供的函数大多数是M文件,我们可以查看这些文件的代码并进行改进,也可以把自己编写的代码加入其中

5、,来扩充图像处理的功能。,MATLAB图像处理: 1. 图像类型及转换 2. 图像读写与显示 3. 图像的几何操作,一、MATLAB中图像类型,在MATLAB中,图像是按像素存储的,即矩阵的每个元素代表一个像素。 一幅300行200列的灰度图像,在MATLAB中存储为300200大小的矩阵。 一幅RGB图像,需要三维矩阵表示,每一维代表一种颜色,这样一幅300行200列的RGB图像就需要用3002003的矩阵表示。,一、Matlab图像类型,图像数据矩阵的数据类型: 双精度(double) 型,即64位的浮点数。一个数据占用8个字节。数据存储量巨大。 无符号整型(uint8) ,一个数据占用一

6、个字节。节省存储空间。 由于MATLAB及工具箱中的大多数运算和函数(比如最基本的矩阵加减运算)都不支持uint8类型,在运算时通常要将图像转换成double型。,一、Matlab图像类型,MATLAB图像处理工具箱支持4种图像类型:,1. MATLAB支持的图像类型,图像类型是指图像在MATLAB数据文件中的存储方式。,(1) 真彩色图像 (2) 索引色图像 (3) 灰度图像 (4) 二值图像,另外,MATLAB还可以处理由多帧图像组成的图像序列.,真彩色图像又称RGB图像,它是利用R, G, B 3个分量来表示一个像素的颜色,R, G, B分别代表红、绿、蓝3种不同的颜色,通过三基色可以合

7、成出任意颜色。所以对一个尺寸为mn的彩色图像来说,在Matlab中则存储为一个mn3的三维数组。 真彩色图像可用双精度型来存储,亮度值范围0,1。一像素值为(0,0,0)代表黑色,(1,1,1)代表白色,(1,0,0)代表红色,这一点与Windows编程规则不同(255,0,0)代表红色。 真彩色图像也可以用无符号整型来存储,如果用无符号整型存储RGB图像,则亮度值的范围为0,255。,(1) 真彩色图像,red,green,blue,双精型真彩色图像,索引色图像存储的是颜色的序号而不是颜色本身。不同的序号对应为不同的颜色。,(2) 索引色图像,索引图像包含两个结构:调色板、图像数据矩阵。,R

8、,G,B,Indexed color image,Palette,灰度图像就是只有亮度信息,而没有颜色信息的图像。 存储灰度图像只需要一个数据矩阵,矩阵的每个元素表示对应位置的像素的灰度值。,(3) 灰度图像,灰度图像,二值图像就是黑白二值图像。二值图像只需一个数据矩阵来存储,每个像素只取0或者1。,(4) 二值图像,有些情况下,需要一系列按照时间或者序号排列起来的一组图像,例如核磁共振图像片( MRI )或者电影文件。 图像处理工具箱中定义了函数可以将多帧图像连接成图像序列。图像序列是一个四维的数组,图像的长、宽、颜色深度构成图像的前三维,图像帧的序号构成第四维。 比如一个包含了4幅5004

9、00真彩色图像的序列,图像的大小则为50040034。再如:,(5) 序列图像,在有些图像操作中,需要对图像的类型进行转换。比如要对一幅索引色图像滤波,首先应该将其转换成真彩色图像或者灰度图像,这时Matlab将会对图像的灰度进行滤波,这是通常意义上的滤波。如果不将索引色图像进行转换,Matlab则对图像调色板的序号进行滤波,这是没有任何意义的。,2. 图像类型转换,(1) im2bw,im2bw函数通过设置亮度阈值将真彩色、索引色、灰度图像转换成二值图像。 语法格式为: BW=im2bw(I,level) %灰度图像I 二值图像 BW=im2bw(X,map,level) %索引色图像二值图

10、像 BW=irn2bw(RGB,level) %真彩色图像I 二值图像 参数level是归一化的阈值,取值范围0,1。输入图像可以是double或uint8类型,输出图像为uint8类型。,下例将一幅索引色图像转换成灰度图像,结果如图所示: load trees %读入trees索引色图像 I=ind2gray(X,map); %将索引色图像 转换为灰度图像 imshow(X,map) %显示原索引色图像 figure,imshow(I) %另绘窗口,显示灰度图像,(2) ind2gray,ind2gray函数可以将索引色图像转换成灰度图像, 语法格式为: I=ind2gray(X,map)

11、将具有调色板map的索引色图像 I 转换成灰度图像 I,它去掉了图像的色度和饱和度,仅保留了图像的亮度信息。,(3) ind2rgb,将索引色图像转换成真彩色图像,其语法格式为: RGB=ind2rgb(X,map) 将具有调色板map的索引色图像X转换成真彩色图像RGB。 实际实现时,就是产生一个三维数组,然后将索引色图像对应的调色板的颜色值赋予三维数组。输入图像X可以是double或unint8类型,输出图像RGB为double类型,(4) mat2gray,mat2gray函数用于将一个数据矩阵转换成一幅灰度图像,其语法格式为: I=mat2gray(A,amin amax) 按指定的取

12、值区间amin amax将数据矩阵A转换为灰度图像I,amin对应灰度0(最暗),amax对应1(最亮)。 I=mat2gray(A) 如果不指定区间amin amax,MATLAB则自动将A阵中的最小元设为amin,最上元设为amax。,(5) gray2ind,gray2ind函数可以将灰度图像转换成索引色图像, 语法格式为: X,map= gray2ind(I,n) 该函数按指定的灰度级数n和调色板map,将灰度图像I转换成索引色图像X,n的默认值为64.,(6) grayslice,grayslice函数通过设定阈值将灰度图像转换成索引色图像, 语法格式为: X=grayslice(I

13、,n) %将灰度图像I均匀量化为n个等 级,然后转换为伪彩色图像X。,例:将一幅灰度图像转换成索引色图像。 I=imread(ngc4024m.tif); X=grayslice(I,16); %设定灰度级为16,将灰度图像转化为 索引色图像。 imshow(I) figure,imshow(X,hot(16) %用hot(16)产生调色板来显示索 引色图像。,(8) rgb2gray,rgb2gray函数用于将一幅真彩色图像转换成灰度图像, 语法格式为: I=rgb2gray(RGB),(9) rgb2ind,rgb2ind函数用于将真彩色图像转换成索引色图像,其语法格式为: RGB=rgb

14、2ind(X, map) 该命令将具有调色板map的索引色图像X转换成真彩色图像X。输入的图像X可以是double或uint8类型,输出图像RGB为double类型。,dither函数通过抖动算法转换图像类型 Xdither(RGB,map) %将RGB按指定的调色板map转换成索引色图像X如:Index_Jdither(I,hot(16) BW=dither(I) 将灰度图像 I 抖动成二值图像BW,(10) dither,MATLAB中利用函数imread来实现图像文件的读取操作,,1. 图像文件的读写,其语法格式为: Aimread(filename, fmt) 如:I=imread(s

15、unset.jpg); X,map=imread(filename, fmt),二、图像的读写与显示,(1) imread,MATLAB支持的图像文件格式有*.cur、*.bmp、*.hdf、*.ico、*.jpg、*.pcx、*.png、和*.tif。用于图像文件I/O的工具箱函数是imread、 imfinfo和imwrite,,其中参数fmt指定了图像的格式,可选的值为cur、bmp、hdfico、jpg、pcx、png和tif,图像格式也可以和文件名写在一起,即filename.fmt,默认的文件目录为当前MATLAB的工作日录。,二、图像的读写与显示,imwrite函数用于输出图像,

16、其语法格式为: imwrite(A, filename, fmt) imwrite(X, map, filename, fmt),(2) imwrite,imfinfo函数用于读取图像文件的有关信息,其语法格式为: info=imfinfo(filename,fmt) info=imfinfo(filename) imfinfo函数返回一个结构info,它反映了该图像的各方面信息 . 如:imfinfo(rice.tif),(3) imfinfo,Filename A string containing the name of the file FileModDate A string containing the modification date of the file FileSize An integer indicating the size of the file in bytes Format A string containing t

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号