MATLAB图形图像处理2课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《MATLAB图形图像处理2课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 图形图像 处理 课件
- 资源描述:
-
1、第三章第三章 MATLABMATLAB图形图像处理图形图像处理3.53.5图像的灰度变换与直方图图像的灰度变换与直方图 在计算机中一幅二维数字图像表示为一个矩阵,该矩阵中的元素是位于相应坐标位置的图像灰度值。对图像处理包括对彩色图像的处理,往往都是对像素灰度的操作,所以对图像进行灰度变换是图像处理过程中最简单、最基础内容。在图像处理中,直接对像素进行的操作称为空间域(或简称空域)处理。3.5.1图像的灰度变换图像的灰度变换 在MATLAB中,用函数imadjust可完成灰度图像的灰度变换。其基本语法格式为:gimadjust(p,low_in high_in,low_out high_out,
2、gamma)其中p为读入到MATLAB中的待变换图像矩阵;low_in high_in指定了p图像中被执行变换操作的灰度范围,low_out high_out是p图像中的像素变换后被映射到low_outhigh_out的灰度级上。默认状态下,low_out high_out及low_in high_in为空,此时等价于0 1,表明输入与输出灰度级为0255(uint8)或065535(uint16)。参数gamma是指变换映射的方式,默认方式时gamma取作1,完成线性映射,这时变换前后的灰度级没有被加权;当gamma小于1,则映射被加权至更高的灰度级;相反当gamma大于1,输出则被加权映射
3、至较低的灰度级。几种灰度变换过程几种灰度变换过程:【例3.5.1】将football.jpg灰度级0.10.6范围的像素线性变换到01上,效果如图3.29中图(b)所示:p=imread(football.jpg);g1=imadjust(p,0.1 0.6,);subplot(1,2,1);imshow(p);xlabel(a);subplot(1,2,2);imshow(g1);xlabel(b);【例3.5.2】将图像p向高灰度级变换,gamma取0.6,效果如图3.29中图(c)所示。g2=imadjust(p,0.6);subplot(2,2,3);imshow(g2);xlabel
4、(c);【例3.5.3】将图像p做灰度倒相变换,即输出源图的负片,gamma取1,效果如图3.29中图(d)所示。g3=imadjust(p,0 1,1 0);subplot(2,2,4);imshow(g3);xlabel(d);3.5.2灰度直方图灰度直方图 图像灰度直方图描述了一幅图像的灰度级内容,即各个灰度级像素数目的统计。在MATLAB图像处理中,通过命令imhist来给出图像的直方图。其基本语法格式为:h=imhist(p,b)其中p为读入到MATLAB环境中的图像矩阵,参数b指明直方图统计时显示的整个灰度级分段数目,若图像为uint8数据格式,当b2时,灰度分为0127及1282
5、56两个区段。省略b时,表明灰度级不分段,这也是imhist的默认调用方式。【例3.5.4】显示图像p的灰度直方图时,先要把RGB彩色图像p变换为灰度图像I。运行下列程序,得到如图3.30所示直方图。p=imread(football.jpg);I=rgb2gray(p);imhist(I);3.5.33.5.3直方图均衡化直方图均衡化 通过直方图均衡化做适当的调整,即把一幅已知灰度概率分布图像中的像素灰度做某种映射变换,使它变成一幅具有均匀概率分布的新图像,使图像视觉效果更加清晰。直方图均衡的MATLAB函数为histeq,其基本语法格式为:g=histeq(p,outlev)其中p为读入的
6、图像矩阵,outlev为输出图像的灰度级数。outlev的默认值为64,即64个灰度级,这样对图像的细节有一定改变。通常将其赋值为256,即全灰度级(uint8)。【例3.5.4】对tire.tif进行直方图均衡,其效果如图所示:p=imread(tire.tif);subplot(2,2,1);imshow(p);xlabel(a);subplot(2,2,2);imhist(p);xlabel(b);g=histeq(p);subplot(2,2,3);imshow(g);xlabel(c);subplot(2,2,4);imhist(g);xlabel(d);3.6 图像的增强滤波图像的
7、增强滤波 上节介绍过的直方图均衡化是图像增强中常用的一种方法,图像增强技术还包括图像平滑滤波、图像锐化等。本节将从线性与非线性、平滑与锐化等不同角度介绍一些实用的空域图像增强技术。3.6.1 3.6.1 空域滤波概述空域滤波概述 图像增强技术从总体上可分为空域增强和频域增强两大类。空域增强也称为空间增强,是直接对图像中的像素进行操作的一种增强过程。空域增强方法大致可分为对比度拉伸、平滑滤波和锐化滤波。灰度拉伸主要是利用点运算来修改图像像素灰度值;而平滑和锐化均是利用模板来修改(卷积运算)像素灰度值,从实现方法上讲是基于图像滤波的操作过程。空域滤波是在图像空间中借助模板对图像进行领域操作的,输出
8、图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。3.6.2 空域滤波分类空域滤波分类 根据模板特点不同可以将空域滤波分为线性和非线性两大类。按照空域滤波器的功能不同,又可将其分为平滑滤波器和锐化滤波器。平滑滤波器可以用低通滤波实现,目的在于模糊图像或消除图像噪声;锐化滤波器是用高通滤波实现的,目的在于增强被模糊图像的细节部分,具体可分为以下3类。1均值滤波 均值滤波也称线性平滑滤波,其输出的像素值是由领域像素的平均值决定。2中值滤波 中值滤波也称为非线性平滑滤波,其基本原理与均值滤波不同之处在于:中值滤波的输出像素值是由领域像素的中间值而不是平均值决定,中值滤波的名
9、字也因此而得。与均值滤波相比,中值滤波对灰度发生聚变的像素不如均值滤波那么敏感,因此中值滤波能尽量保存图像的细节,模糊效应较少,适于消除图像中孤立噪声。3锐化滤波 锐化滤波就是可以使用微分对图像进行处理,以此来锐化由于领域平均导致的图像模糊。图像处理中最常用的微分是利用图像沿某方向上的灰度变化率,即梯度进行的。3.6.3 基于基于MATLAB的空域增强滤波的空域增强滤波 基于MATLAB图像处理的空域滤波,首先要定义滤波器,然后才能调用定义好的滤波器进行滤波。imnoise是MATLAB提供的图像噪声模拟函数,其基本语法格式为:pn=imnoise(p,type,para)其中pn为添加噪声的
10、输出图像,p为原图像,type指定噪声的类型,para为每种类型噪声的参数。常用的噪声有:gaussian(高斯噪声)、salt&pepper(椒盐噪声)、speckle(均值为0均匀分布的随机噪声)等。fspecial函数用来预定义滤波器,其基本语法格式为:h=fspecial(type,para)其中h为预定义的滤波器,参数type指定滤波器的种类,para为与滤波器相关的参数。滤波器的种类滤波器的种类type可以为:可以为:gaussian(高斯低通滤波器)、laplacian(拉普拉斯算子)、log(拉普拉斯高斯算子)、prewitt(Prewitt算子)、sobel(Sobel算子)
11、、average(均值滤波器)及unsharp(对比度增强滤波器)等。imfilter是用来实现线性空间滤波的函数,其基本语法格式为:hp=imfilter(p,w,filter_mode,boundary_options,size_options)其中hp为经过滤波后输出的图像,p为原图像,参数w为滤波模板,filter_mode指定滤波过程中使用相关核(corr)还是卷积核(conv)。boundary_options控制边界填充方式为边界复制(replicate)、边界循环(circular)还是边界对称(symmetric)。size_options可以为same或者full两者之一。
12、如 hp=imfilter(p,w,replicate)medfilt2是一个二维中值滤波函数,其基本语法格式为:hp=medfilt2(p,m n,padopt)其中hp为经过滤波后输出的图像,p为原图像,m及n规定了领域的大小,padopt指定了边界填充方式,默认方式为zeros。【例3.6.1】对添加了椒盐噪声的图像分别进行均值滤波和中值滤波,滤波前后效果如图3.32所示。p=imread(coins.png);p0=imnoise(p,salt&pepper,0.02);%为原图添加椒盐噪声 H1=fspecial(average,3 4);%设计均值滤波器H1 p1=imfilter
13、(p0,H1,replicate);%用滤波器H1对图像p0进行滤波 p2=medfilt2(p0,3,3,zeros);%对图像p0进行中值滤波 subplot(2,2,1),imshow(p);%分别显示原图及处理后的图像 subplot(2,2,2),imshow(p0);subplot(2,2,3);imshow(p1);subplot(2,2,4);imshow(p2);图3.32 均值滤波和中值滤波(a)原图像;(b)添加椒盐噪声后图像;(c)均值滤波后图像;(d)中值滤波后图像)(a)(b)(c)(d)【例3.6.2】对含有噪声的原图像进行锐化,得到如图所示图像。p0=imrea
14、d(moon.tif);p=im2double(p0);%将图像数据类型转换为doubleH1=fspecial(laplacian,0);%设计拉普拉斯滤波器H1H2=fspecial(log,5 5,0.5);%设计高斯拉普拉斯滤波器H2hp1=imfilter(p,H1,replicate);%用滤波器H1对图像p进行滤波hp2=imfilter(p,H2,replicate);%用滤波器H2对图像p进行滤波p1=p-hp1;%还原灰度色调p2=p-hp2;%还原灰度色调subplot(1,3,1),imshow(p0);subplot(1,3,2),imshow(p1);subplot
15、(1,3,3);imshow(p2);图3.33 拉普拉斯波和高斯拉普拉斯滤波(a)原图像;(b)拉普拉斯滤波后图像;(c)高斯拉普拉斯滤波后图像)3.7 图像的空间变换图像的空间变换 图像的空间变换也称为图像的几何变换,是指将用户获得或设计的原始图像,按照需要产生大小、形状和位置的变化。图像几何变换是图像显示技术中的一个重要组成部分,常用的图像几何变换主要包括图像的缩放、图像的剪切及图像的旋转等内容。3.7.1 3.7.1 图像比例缩放图像比例缩放 图像比例缩放图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴方向按比例缩放fy倍,从而获得一幅新的图像。有fxfy和 fxfy两种
16、情况。比例缩放所产生的图像中的像素可能在原图像中找不到相应的像素点,这样就必须进行插值处理插值处理。图像插值处理常用的方法有两种,一种是最邻近一种是最邻近插值法,另一种是通过一些插值算法来计算相应插值法,另一种是通过一些插值算法来计算相应的像素值。的像素值。MATLAB中提供了三种图像插值方法,即最近邻最近邻插值、双线性插值和双三次插值。插值、双线性插值和双三次插值。通过函数imresize对图像进行插值缩放,其基本语法格式为:ps=imresize(p,m,method)其中ps为变换后的图像,p为输入图像,m放大倍数(当m1时缩小),method为插值方法的选择项,可选最近邻插值法(nea
17、rest)、双线性插值法(bilinear)及双三次插值法(bicubic),默认使用最近邻插值法。另外一种经常用到的语法格式为:ps=imresize(p,m n,method)其中m和n分别为变换后图像的长宽,其它参数含义与上述相同。【例3.7.1】对liftingbody.png图像进行缩小,其效果如图3.34所示。p=imread(liftingbody.png);w=input(please input a number:);%交互输入缩小为0.2倍 ps=imresize(p,w);%缩小变换 imshow(p);figure;imshow(ps);图3.34 对liftingbo
展开阅读全文