第三章亮度变换与空间滤波_第1页
第三章亮度变换与空间滤波_第2页
第三章亮度变换与空间滤波_第3页
第三章亮度变换与空间滤波_第4页
第三章亮度变换与空间滤波_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

第三章图像变换与空间滤波本章主要内容:3.1背景知识图像旋转和调整大小的函数及用法3.2亮度变换函数(1)函数adjust(2)对数和对比度拉伸变换(intrans函数)3.3直方图处理与函数绘图3.4空间滤波(1)线性空间滤波(2)非线性空间滤波器重点:(1)对比度增强方法(adjust和intrans函数)(2)直方图的画法(bar、stem和plot函数)(3)均值及中值滤波方法难点:微分算子的锐化作用(掌握拉普拉斯算子、Robert、Sobel算子)3.1图像的几何操作1、插补运算插补运算是通过在输入图像中查找与输出像素对应的点来确定插补像素点的数据值。MATLAB提供的插补运算:近邻插补运算(nearestneighbor)双线性插补运算(bilinear)双立方插补运算(bicubic)2、图像的旋转函数:imrotate作用:通过特定的插补方法来改变图像的角度使用:B=imrotate(A,angle,method)或者B=imrotate(A,angle,method,’crop’)其中:A是图像矩阵,angle是图像的旋转角度,method可以是nearest,bininear或bicubic,默认nearest,参数crop表示剪切。例子:使用双立方插补法改变图像的角度程序:A=imread('hch.jpg');B=imrotate(A,30,'bilinear','crop');subplot(1,2,1),imshow(A)title('原始图像')subplot(1,2,2),imshow(B)title('旋转30度后的图像')实验效果:3、调整图像的大小函数:imresize作用:通过特定的插补方法来调整图像的大小使用(1)B=imresize(A,m,method)用method方法返回大小等于A的m倍的图像B。(2)B=imresize(A,[mrowsncols],method)用method方法返回大小等于mrows*ncols的图像B。例子:调整图像的大小程序:>>A=imread('hch.jpg');>>figure,imshow(A)>>>>B=imresize(A,0.5,'bilinear');>>figure,imshow(B)实验效果:注意:若指定图像和输入图像具有不同的宽高比,则输出图像会变形。1、什么是图像增强图像增强是指改善图像,以使图像主观上看起来更好的一种图像处理方法,虽然我们并不关心一幅图像的内容是什么,但是我们关心这副图像是否可以得到改善,比如:是否能观察到更多的细节,是否能去掉一些不想要的斑点,是否能使对比度达到更好?等等。3.2图像的增强2、图像增强的两大类方法:空间域:是指图像平面自身,这类方法是以对图像的像素直接处理为基础。频域:将一幅图像像元值在空间上的变化分解为具有不同振幅、空间频率和相位的简振函数的线性叠加,图像中各种空间频率成分的组成和分布称为空间频谱。这种对图像的空间频率特征进行分解、处理和分析称为空间频率域处理或波数域处理。处理技术是以修改图像的傅氏方法为基础的。空域增强按技术不同可分为灰度变换和空间滤波。空间域:灰度变换:基于点操作,将每一个像素的灰度值按照一定的数学变换公式转换为一个新的灰度值。常用的有:对比度增强、直方图均衡化等方法。空域滤波:基于邻域处理,应用某一模板对每个像素及其周围邻域的所有像素进行某种数学运算,得到该像素的新的灰度值。图像平滑与锐化技术就属于空域滤波。1、imadjust函数(1)反转(用于增强嵌入在大片黑色区域中的白色细节)语句:g=imadjust(f,[01][10]);等价于:g=imcomplement(f);效果图:反转(2)imadust(突出感兴趣的亮度带)语句:g1=imadjust(f,[0.50.75][01]);自适应:g1=imadjust(f,stretchlim(f),[],)(3)整体变亮或整体变暗(Gamma校正)语句:g3=imadjust(f,[],[],0.5);//整体变亮g4=imadjust(f,[],[],2);//整体变暗效果图:g1g2g32、对数变换和对比度拉伸变换用于减少动态范围例:>>f=imread('1x.jpg');>>figure,imshow(f)>>g=im2uint8(mat2gray(log(1+double(f))));>>figure,imshow(g)效果图:

3、亮度变换的一个M函数intrans要注意的:(1)输入的变量是如何处理的(2)错误检验是如何插入代码的(3)输入图像的类是如何与输出图像的类相匹配的例子:>>f=imread('3-2.jpg');>>g=intrans(f,'stretch',mean2(im2double(f)),0.9);>>figure,imshow(g)3.3、直方图处理与函数绘图(1)什么是直方图?图像的直方图是一个关于图像灰度级别的离散函数,描述的是图像中具有该灰度级别的像素个数。直方图归一化之后,该函数在所有灰度级上的离散和为1。(2)图像的直方图和图像质量的关系“差”图像的直方图很窄“好”图像的直方图则要平坦很多(3)直方图处理函数:imhist语法:h=imhist(f,b);默认b=256(4)直方图均衡化(扩展动态范围对比度增强)不适合平坦的直方图函数:histeq语法:g=histeq(f,nlev)//nlev输出图像指定的灰度级数,默认:64,一般来说我们把nlev的值赋给256(5)直方图的绘制

a、条形图函数:bar语法:bar(horz,v,width,style)其中:v是一个列向量,包含将被绘制的点horz是一个与v有相同维数的向量width是[01]之间的值,代表条宽度,默认0.8style是显示样式,’group’表示成组显示,’stack’表示层叠显示。Bar函数例子:y=[1234;5462;3123];x=[1:3:9];Subplot(1,2,1)bar(x,y,’stack’)’group’Subplot(1,2,2)bar(x,y,0.6)

>>f=imread('3-3.jpg');>>h=imhist(f);>>h1=h(1:10:256);>>horz=1:10:256;>>bar(horz,h1)>>axis([0255015000])>>set(gca,'xtick',0:50:255)>>set(gca,'ytick',0:2000:15000)>>xlabel('x轴')>>ylabel('y轴')>>title('直方图绘制')b、杆状图绘制语法:stem(horz,v,’color_linestyle_marker’,’fill’)color颜色,默认为黑色linestyle:线型,默认为实线marker:标记点,默认为圆形注:若使用fill,且标记点为圆形、方形或菱形,则标记点的颜色为color指定的颜色。符号颜色k黑w白r红g绿b蓝c青y黄m品红符号线型-实线--虚线:点线-.点划线none无线colorlinestyle符号颜色+加号o圆型*星号.点x叉型s方形d菱形none无标记marker程序:>>h=imhist(f);>>h1=h(1:10:256);>>horz=1:10:256;>>stem(horz,h1,'fill')>>axis([0255015000])>>set(gca,'xtick',0:50:255)>>set(gca,'ytick',0:2000:15000)c、plot函数语法:plot(horz,v,’color_linestyle_marker’)功能:将一组点用直线连接起来color颜色,默认为黑色linestyle:线型,默认为实线marker:标记点,默认为圆形以下面的例子说明用法:>>x=0:pi/15:2*pi;>>y1=sin(x);y2=cos(x);>>plot(x,y1,'b:+',x,y2,'g-.*')3.4空间滤波3.4.1基础概念:(1)空间滤波(2)掩模(3)卷积(4)边缘点处理

空间滤波:在大小为m*n的图像f上,用m*n大小的滤波器进行线性滤波由下式给出:其中,a=(m-1)/2,b=(n-1)/2,为了得到一副完整的经过滤波处理后的图像,必须对x=0,1,…,M-1,y=0,1,…,N-1依次应用上述公式,这样,就保证了对图像中所有像素的处理。掩模(滤波算子):函数:fspecial(type,para)功能:用于建立预定义的滤波算子其中,参数指定算子的类型,para指定相应的参数。P72表7.4卷积:函数:conv2(A,B)语法格式:c=conv2(A,B)其中:若A的大小为[ma,na],B的大小为[mb,nb],则c的大小为[ma+mb-1,na+nb-1]。c=conv2(A,B,shape)用于指定卷积的范围。shape的值为’full’、‘same’例子:A=magic(5);B=magic(3);C=conv2(A,B,’same’)边缘点处理:(1)将掩模中心点的移动范围限制在距离图像边缘不小于(n-1)/2个像素处。(最优)(2)补零(3)抽边缘的像素补充滤波函数imfilter语法:g=imfilter(f,w,filtering_mode,boundary_options,size_options)其中:(1)filtering_mode是指定在滤波过程中是使用“相关‘corr’”或者”卷积‘conv’”,默认是相关。P67(2)boundary_option是边界填充问题,“P”表示填充0,‘replicate’表示复制外边界,默认填充0(3)size_options可以是’same’或‘full’,默认是same注意:滤波后的图像的每个元素使用双精度浮点算术进行运算,然而imfilter会将输出图像转换为与输入图像相同的类,因此,若f是一个整数数组,则输出中超过整形范围的元素将被截断,且小数会四舍五入。若结果要求更高的精度,则f需要在使用函数imfilter之前利用im2double或double转换为double类。程序:A=imread('3-1.jpg');figure,imshow(A)w1=fspecial('average',3);w2=fspecial('average',5);w3=fspecial('average',9);g1=imfilter(A,w1,'replicate');g2=imfilter(A,w2,'replicate');g3=imfilter(A,w3,'replicate');subplot(2,2,1),imshow(A)subplot(2,2,2),imshow(g1)subplot(2,2,3),imshow(g2)subplot(2,2,4),imshow(g3)3.4.2平滑空间滤波器作用:模糊处理和减少噪声重要应用:为了对感兴趣物体得到一个粗略的描述而模糊一幅图像,这样,那些较小物体的强度与背景混合在了一起,较大物体变的像“斑点”而易于检测。常用的平滑空间滤波器:均值滤波器(线性的)中值滤波器(非线性的)1.邻域平均法假设图像由许多灰度恒定的小块组成,相邻像素间存在很高的空间相关性,而噪声则相对独立。可以将一个像素及其邻域内的所有像素的平均灰度值赋给平滑图像中对应的像素,从而达到平滑的目的,又称均值滤波或局部平滑法。均值滤波器:使用imfilter函数,主要是w的取值。Matlab工具箱用fspecial函数来生成掩模。语法:w=fspecial(‘type’,parameters);其中,type表示滤波器类型,‘parameters’进一步定义了指定的滤波器。均值滤波器w类别:

‘average’fspecial(‘average’,[rc]),rc默认为3*3或‘disk’fspecial(‘disk’,r),r默认为5应用(检测)程序:x1=im2bw(A,graythresh(A));x2=im2bw(g3,graythresh(g3));subplot(2,1,1),imshow(x1)subplot(2,1,2),imshow(x2)2、中值滤波器(较好的去除椒盐噪声)函数:medfilt2语法:g=medfilt2(f,[m,n],padopt);其中,[m,n]定义了一个大小为m*n的邻域,中值就在该邻域上计算,默认为3*3,而padopt指定了三个可能的边界填充选项之一。‘zeros’默认值‘symmetric’镜像反射边界扩展‘indexed’,若f是double类,用1来填充,否则以0来填充。程序f=imread('3-4.jpg');g=medfilt2(f,'symmetric');subplot(2,1,1),imshow(f)subplot(2,1,2),imshow(g)缺点:这两种方法适用于图像较小,噪声情况少的情况,并造成一定的模糊。会把边缘信息模糊掉。最好的情况是能把图像分成平坦区域、图像边缘、噪声点分类处理可以改善。3、状态统计滤波器ordfilt2语法格式:B=ordfilt2(A,order,domain)其中:order代表第order个元素domain是一个仅包含0和1的矩阵例子:B=ordfilt2(A,5,ones(3,3))B=ordfilt2(A,1,ones(3,3))B=ordfilt2(A,9,ones(3,3))3.4.3锐化空间滤波器1、基于二阶微分的图像增强

(拉普拉斯算子)(a)理论推导P73(b)算子0101-410101111-811110-10-14-10

温馨提示

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

评论

0/150

提交评论