MATLAB7.0使用详解-第15章图像处理工具箱.ppt_第1页
MATLAB7.0使用详解-第15章图像处理工具箱.ppt_第2页
MATLAB7.0使用详解-第15章图像处理工具箱.ppt_第3页
MATLAB7.0使用详解-第15章图像处理工具箱.ppt_第4页
MATLAB7.0使用详解-第15章图像处理工具箱.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第15章 图像处理工具箱,数字图像处理的研究主要在两个方面:其一是为了便于人们分析而对图像信息的改进,包括图像增强和图像恢复;其二是为了便于机器自动理解对图像的分割、理解等。本章内容主要针对的是数字图像处理的增强和恢复。 本章首先讨论数字图像处理中涉及的一些概念,以及MATLAB中一些基本的图像数据操作,15.2至15.6分别介绍数字图像的灰度变换、代数运算、几何运算及图像滤波等内容。,15.1 数字图像基础,本节介绍一些与数字图像相关的概念,包括数字图像的采样和量化、数字图像的类型及表示,这些概念以及相关的符号将会在本章后续内容中经常用到。 本节另一个重要的内容是对MATLAB中图像数据的读入、显示、输出等操作进行介绍,这些操作是后续图像处理的前提。,15.1.1 图像的采样和量化,一般得到的图像都是连续的,可以用连续函数表示,需要对连续图像进行采样和量化,得到数字图像,然后才能用于计算机处理。 图说明了图像采样和量化的基本概念。图(a)显示的是一幅连续图像,需要将其转化为数字形式以便于计算机处理。图像的x、y坐标值和幅度值都有可能是连续的,为了把它转化为数字形式,必须在坐标和幅度上进行采样操作。数字化坐标称为采样,数字化幅值称为量化。,15.1.2 图像类型,不同类型的数字图像差别在于对像素的表示方法不同,MATLAB图像处理工具箱中支持的图像类型有以下4种。 1二值图(Binary image) 像素值为逻辑类型(logical),有两个离散灰度级,即0和1。二值图即是通常所称的黑白图。 2索引图(Indexed image) 3灰度图(Grayscale image) 像素值可以是8位无符号整型(unit8)、16位无符号整型(unit16)、16位整型(int16)、单精度浮点型(single)、双精度浮点型(double),表示灰度级别。MATLAB利用自带的Colormap显示灰度图。 4RGB图 具有R(红)、G(绿)、B(蓝)3个颜色通道,每个像素由的向量R, G, B表示,R、G、B可以是8位无符号整型(unit8)、16位无符号整型(unit16)、单精度浮点型(single)、双精度浮点型(double),它们分别表示3种颜色的深度级别。,15.1.3 图像数据的读写和显示,1读入图像 函数imread从图像文件中读取图像数据,imread支持大多数常用的图像格式。 2显示图像 MATLAB图像处理工具箱有两个函数可以用于数字图像的显示,它们是mshow和imtools函数。 3图像数据的写入 函数imwrite将工作区间的图像数据保存到图像文件中,例如对上述的图像数据I(pout.tif图像数据)。 imwrite(I,pout1.png),15.1.4 图像的转换,图像的转换是图像处理过程中经常要做的工作,往往需要将图像从一种格式转换为另一种格式,这样才能完成某些图像处理任务,之后再将图像转换到原来的格式。图像的转换包括图像类型的转换,如灰度图转换为二值图,和图像数据存储格式之间的转换,如uint8型灰度图转换为single型灰度图。,15.2 图像的灰度变换,15.2.1 直方图,灰度图(包括二值图)的直方图表示每个灰度级范围内像素点的个数,索引图的直方图表示每个色条(即Colormap矩阵的每一行)对应的像素点个数。 MATLAB图像处理工具箱利用imhist得到灰度图、索引图的直方图,一般的调用格式为 imhist(I) imhist(I,n) imhist(X,map) 其中,I为灰度图或二值图,n为直方图的柱数,X为索引图,map为对应的Colormap。imhist(I,n)得到灰度图(二值图)I的直方图,n为直方图的柱数,对于二值图,n只能为2。当n未指定时,n根据I的不同类型取256(灰度图)或2(二值图)。imhist(X,map)得到索引图X的直方图,map为X的colormap。,15.2.2 灰度变换,灰度变换经常用于改变图像的对比度。例如,对灰度图pout(图(a),其直方图如图(b)所示。从直方图上可以看到,pout的大部分像素分布在中间较窄的灰度范围内,使得pout整体对比度较低。利用灰度变换,将pout直方图中间部分拉伸至整个灰度范围0,255能够增强对比度,MATLAB图像处理工具箱中实现该功能的函数是imadjust。,15.2.3 直方图均衡,15.2.2小节的灰度变换实际上是指定了灰度变换函数的灰度变换,对不同的图像需要设定不同的参数,因此这种方法的效率是很低的。 直方图均衡能够根据待处理图像的直方图自适应地给出灰度变换函数,使得调整后图像的直方图尽可能地接近预先定义的直方图。 MATLAB图像处理工具箱中利用函数histeq对灰度图和索引图作直方图均衡,histeq函数的一般调用格式为 J = histeq(I,hgram) J = histeq(I,n) J = histeq(I) J,T = histeq(I,.) newmap = histeq(X,map,hgram) newmap = histeq(X,map) newmap,T = histeq(X,.),15.3 图像的代数运算,15.3.1 图像加法,对同一幅受加性噪声污染的图像求平均可以提高图像的信噪比。,15.3.2 图像乘法,利用1、0组成的掩膜图与待处理图像相乘可以遮住图像的某部分。 【例6】利用图像乘法遮住图像的某部分,15.3.3 图像减法,图像减法可以用于去除背景和运动目标检测等。 比较上例图中的(a)、(b),假设(b)中间的黑色小方块是一个运动目标,通过图像的减法能够检测到该目标。 图中的(a)、(b)相减得到的差如图所示。 imshow(imsubtract(I,J),15.3.4 图像除法,图像除法可以产生对彩色或多光谱图像十分重要的比率图像,关于这部分内容,这里不作介绍,读者如有兴趣可以查阅相关的书籍和MATLAB帮助文档。,15.4 图像的几何运算,几何运算改变图像的形状,如图所示。图像的几何运算涉及到空间变换和灰度插值,空间变换防止图像内容支离破碎,灰度插值计算目标图像中对应原图像非整点的像素点灰度值。本节中介绍几种最基本的几何运算,包括图像的缩放、旋转和裁剪。,15.4.1 缩放,MATLAB图像处理工具箱利用函数imresize对图像进行缩放操作,imresize的一般调用格式为 B = imresize(A,m) B = imresize(A,m,method) B = imresize(A,mrows ncols,method) 其中A、B分别为输入、输出图像。method是缩放过程中使用的插值方法,可以是nearest(最近邻插值)、bilinear(双线性插值)或bicubic(双立方插值),默认的插值方法是最近邻插值。m为放大因子,m大于1时,图像被放大,小于1时,图像被缩小。也可以分别设置变换后图像的高度mrows和宽度ncols,这种方法能克服放大因子只能对高度和宽度同比缩放的缺陷。,15.4.2 旋转,MATLAB图像处理工具箱利用函数imrotate对图像进行旋转操作,imrotate的一般调用格式为 B = imrotate(A,angle) B = imrotate(A,angle,method) 其中A、B分别为输入、输出图像,angle为逆时针旋转的角度,angle为负时,表示顺时针旋转。method是旋转过程中使用的插值方法,可以是nearest(最近邻插值)、bilinear(双线性插值)或bicubic(双立方插值),默认的插值方法是最近邻插值。 旋转操作会使图像尺寸变大,imrotate对原图像边界之外的像素用0填充,显示的是黑色的背景。,15.4.3 裁剪,图像的裁剪得到图像的部分图。MATLAB图像工具箱利用函数imcrop实现图像的裁剪,其一般的调用格式为 I2 = imcrop(I,rect) X2 = imcrop(X,map,rect) RGB2 = imcrop(RGB,rect) 分别用于灰度图(包括二值图)、索引图和RGB图的裁剪。rect定义裁剪的矩形区域,如果不指定rect,MATLAB允许用户通过鼠标选定裁剪区域。,15.5 线性滤波,线性滤波是一类非常重要的图像处理方法,主要用于图像增强、图像去噪等。线性滤波是一种邻域处理(Neighbothood Operation)方法,输出图像的像素值是输入图像对应像素及其邻域像素的线性组合。本节首先介绍与线性滤波相关的两个概念,卷积和相关,接着介绍线性滤波函数imfilter。,15.5.1 卷积和相关,线性滤波可以用卷积实现,输出图像的像素值是输入图像对应像素及其邻域像素的线性加权,权重矩阵称为卷积窗。,15.5.2 线性滤波,线性滤波器由相关或卷积实现,默认情况下由相关实现。MATLAB中利用函数imfilter对图像线性滤波,imfilter的一般调用格式为 B = imfilter(A,H) B = imfilter(A,H,option1,option2,.) 其中A、B为输入输出图像。H为相关窗或卷积窗,默认情况下为相关窗,可以通过设置option3 = conv,使线性滤波由卷积实现。通过设置option1决定线性滤波器对边界的处理方式,replicate使用最近邻边界填充,默认情况下,用0填充。 下面的例子利用等权重的滤波器对受加性噪声污染的coins图像作线性滤波,通常称这种等权重的线性滤波器为均值滤波器(averaging filter)。,15.6 图像的排序滤波,15.5节介绍的线性滤波,通过对邻域像素的线性组合得到输出图像的像数值,这是一种线性处理方法。本节将要介绍的排序滤波是一种非线性处理方法。排序滤波通过对邻域像素的升序排序,取第r个像素值作为输出图像的像素值。 排序滤波也有对应的滤波窗口,滤波窗口超出图像边界时需要考虑边界的处理,可以用0填充或是最近邻边界填充等。 MATLAB图像处理工具箱中利用函数ordfilt2对图像作排序滤波,一般的调用格式为 B = ordfilt2(A, order, h),15.6.1 中值滤波,中值滤波是排序滤波的一种,通过取邻域像素值的中位数作为输出图像的像素值。MATLAB图像处理工具箱为中值滤波提供了专门的函数medfilt2,其一般的调用格式为 B = medfilt2(A, M N) 其中A、B为输入输出图像,为滤波窗口的大小,默认情况下。 虽然也可以利用odrfilt2实现中值滤波,但是考虑到效率,通常不这样做。 通过15.5节的例子知道,线性滤波不能在去噪和保留细节方面同时兼顾。中值滤波器在去噪的同时,能够较

温馨提示

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

评论

0/150

提交评论