数字图像处理形态学图像处理ppt课件_第1页
数字图像处理形态学图像处理ppt课件_第2页
数字图像处理形态学图像处理ppt课件_第3页
数字图像处理形态学图像处理ppt课件_第4页
数字图像处理形态学图像处理ppt课件_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、数字图像处理第09章 形态学图像处理高振国 22015年年9月月13日日内容n 预备知识,集合运算n 二值图像n 膨胀与腐蚀,结构元素的分解n 膨胀与腐蚀的组合(例如开运算、闭运算、击中或击不中,使用查找表LUT技术编程)n 标注连通分量,函数imlabel()n 形态学重构(由重构做开运算,填充孔洞,清除边界对象)n 灰度图像形态学n 膨胀与腐蚀n 开运算与闭运算n 重构32015年年9月月13日日引言n 形态学n 一词通常指生物学的一个分支,用于处理动物和植物的形状和结构。n 数学形态学(mathematical morphology, MM)n 是根据形态学

2、概念发展而来具有严格数学理论基础的科学,并在图像处理和模式识别领域得到了成功应用。n 除了通常作为一种抽取图像中区域形状特征,如边界、骨骼和凸壳等,的工具外,也经常用于图像的预处理和后处理,如形态学滤波、细化和修剪等。42015年年9月月13日日9.1预备知识n 集合的运算52015年年9月月13日日9.1预备知识n 针对像素坐标集合的基本符号n 集合B的映像n 集合A的平移|,Bw wb bB |,zAc caz aA62015年年9月月13日日9.2膨胀和腐蚀(二值图像)n 9.2.1膨胀n 膨胀是二值图像中加长或变粗的操作,操作由一个称为结构元素的集合来控制。结构元素中必须明确指定原点n

3、 图像A用结构元素B膨胀,记作AB,其定义为: |zABzBA 72015年年9月月13日日9.2膨胀和腐蚀(二值图像)n 9.2.1膨胀 |zABzBA 82015年年9月月13日日9.2膨胀和腐蚀(二值图像)n 9.2.1膨胀n 例9.1,补全残缺文字92015年年9月月13日日9.2膨胀和腐蚀(二值图像)n 9.2.2结构元素的分解n 膨胀满足结合律,即A(BC)= ABCn 若结构元素B可以分解为B= B1B2,则用B对A膨胀n AB=A(B1B2)=AB1B2,后者计算效率更高102015年年9月月13日日9.2膨胀和腐蚀(二值图像)n 9.2.3 matlab函数n 函数Strel

4、函数用于产生预定义结构元素矩阵信息n Se=strel(shape,parameters)112015年年9月月13日日9.2膨胀和腐蚀(二值图像)n 9.2.3 matlab函数n 函数getsequence可分解结构元素n 例9.2,分解结构元素122015年年9月月13日日9.2膨胀和腐蚀(二值图像)n 9.2.4腐蚀n 膨胀是二值图像中收缩或细化的操作,操作由一个称为结构元素的集合来控制。结构元素中必须明确指定原点n 图像A用结构元素B膨胀,记作AB,其定义为: |czA BzBA 132015年年9月月13日日9.2膨胀和腐蚀(二值图像)n 9.2.4腐蚀142015年年9月月13日

5、日9.2膨胀和腐蚀(二值图像)n 9.2.4腐蚀n 例9.3,去除细线A = imread(ic.tif);se = strel(disk, 10);figure;subplot(2,2,1);imshow(A)title(原始图像)A2 = imerode(A, se);subplot(2,2,2);imshow(A2)title(使用结构元素disk10)腐蚀后的图像)se = strel(disk, 5);A3 = imerode(A, se);subplot(2,2,3);imshow(A3)title(使用结构元素disk5)腐蚀后的图像)A4 = imerode(A, strel(

6、disk, 20);subplot(2,2,4);imshow(A4)title(使用结构元素disk20)腐蚀后的图像)152015年年9月月13日日9.3膨胀和腐蚀的组合运算n 开运算n 图像A用结构元素B的开运算记作n 开运算效果:平滑对象轮廓,断开狭窄的连接,取消细小的突出部分。n 闭运算n 图像A用结构元素B的闭运算记作n 闭运算效果:将狭窄的缺口连接起来形成细长的弯口,并填充比结构小的孔洞。A B()A BA BB( ) |( )zzA BBBA A B()A BA B B ( ) |( )zzA BBBA 162015年年9月月13日日9.3膨胀和腐蚀的组合运算n 开运算和闭运算

7、n 开运算matlab函数,C=imopen(A,B)n 闭运算matlab函数,C=imclose(A,B)172015年年9月月13日日9.3膨胀和腐蚀的组合运算n 开运算和闭运算n 例9.4,函数imopen和imclose的使用182015年年9月月13日日9.3膨胀和腐蚀的组合运算n 开运算和闭运算n 例9.4,指纹图像噪声去除192015年年9月月13日日9.3膨胀和腐蚀的组合运算n 9.3.2击中和(或)击不中变换n 图像A用结构元素组B=(B1,B2)的击中击不中变换记作ABn 该变换用于识别特定形状12cABA BAB202015年年9月月13日日9.3膨胀和腐蚀的组合运算n

8、 9.3.2击中和(或)击不中变换n 图像A用结构元素组B=(B1,B2)的击中击不中变换记作ABn 该变换用于识别特定形状12cABA BAB212015年年9月月13日日9.3膨胀和腐蚀的组合运算n 9.3.2击中和(或)击不中变换n 该变换的Matlab函数n C=bwhitmiss(A, B1,B2)n 例9.5,定位图像中对象的左上角像素% 例9.5 bwhitmiss 击中或击不中变换B1 = strel(0 0 0;0 1 1; 0 1 0); B2 = strel(1 1 1; 1 0 0;1 0 0); f = imread(corner.tif);figure;subplo

9、t(1,2,1);imshow(f)title(原始图像)g = bwhitmiss(f, B1, B2);subplot(1,2,2);imshow(g)title(使用结构元素组1击中击不中变换后的图像)222015年年9月月13日日9.3膨胀和腐蚀的组合运算n 9.3.3击中和(或)击不中变换的编程n 当结构元素较小时,使用查找表方式运行较快。事先构造查找表LUT,其中记录各种可能邻域模式是否匹配。n 为此需要为每种邻域模式定义一个编号,可另邻域各位权重如下。n 工具箱两个相关函数,makelut(), applylut()232015年年9月月13日日9.3膨胀和腐蚀的组合运算n 9.

10、3.3击中和(或)击不中变换的编程242015年年9月月13日日9.3膨胀和腐蚀的组合运算n 9.3.3击中和(或)击不中变换的编程n 提取图像的端点252015年年9月月13日日9.3膨胀和腐蚀的组合运算n 9.3.3击中和(或)击不中变换的编程n 例9.6,使用二值图像和查找表编写conway的生命游戏程序, test09_06.m262015年年9月月13日日9.3膨胀和腐蚀的组合运算n 9.3.4工具箱函数bwmorph272015年年9月月13日日9.3膨胀和腐蚀的组合运算n 9.3.4工具箱函数bwmorph,test09_0601.mn Bwmorph的使用,细化指纹n 骨骼化,

11、去除端点282015年年9月月13日日9.4连通分量n 基本概念n N4(p), ND(p), N8(p);n 4邻接,8邻接;n 4连接,8连接292015年年9月月13日日9.4连通分量n 标记连通分量的函数bwlabeln L,num=bwlabel(f,conn);其中f是二进制图像,conn为4或8,表示考虑的连接类型,L标记矩阵,num连通分量数量302015年年9月月13日日9.4连通分量n 标记连通分量的函数bwlabeln L,num=bwlabel(f,conn);其中f是二进制图像,conn为4或8,表示考虑的连接类型,L标记矩阵,num连通分量数量f = imread(

12、objects.tif);L,n=bwlabel(f);r,c=find(L=3);rbar=mean(r);cbar=mean(c);imshow(f);hold on;for k=1:1:n, r,c=find(L=k); rbar=mean(r); cbar=mean(c); plot(cbar,rbar,Marker,o,MarkerEdgeColor,k,. MarkerFaceColor,k,MarkerSize,10); plot(cbar,rbar,Marker,*,MarkerFaceColor,w);end312015年年9月月13日日9.5形态学重构n 重构变换n 重构变

13、换涉及两幅图像和一个结构元素;n 一幅图像称为标记marker,为变换的初始状态;另一幅图像称为掩膜mask,为变换的限制区域。该结构元素决定连接性,通常为ones(3,1)n 若g是掩膜,f为标记,则从f开始重构g的变换记作Rg(f),其由如下迭代过程定义。n 重构matlab函数,out=imreconstruct(marker,mask)322015年年9月月13日日9.5形态学重构n 重构可以有很多应用,不同的应用体现在marker和mask的不同选择。n 重构变换的应用1-由重构做开运算n 由重构做开运算n 传统开运算中,腐蚀去除掉小对象,随后的膨胀恢复原始对象形状,但受元素结构等影

14、响,恢复的往往不是很精确;n 而重构则能精确恢复原始对象。n 使用结构元素B对图像f由重构做开运算的操作记作Rf(fB)。n 例9.8,test09_08.mf = imread(text1.tif);fe = imerode(f,ones(51,1);fobr = imreconstruct(fe,f);332015年年9月月13日日9.5形态学重构n 重构变换的应用2-填充孔洞;n 定义标记图像fm如下,那么 的作用是填充图像中的孔洞,n Matlab函数,g=imfill(f,holes);n 重构变换的应用3-清除边界对象;n 定义标记图像fm如下,用原图像做掩膜,那么 的作用是清除边

15、界的对象,n Matlab函数,g=imclearborder(f,conn);()ccmfgRf1( , ),( , )f( , )mf x yx yfx y在图像 的边界上0其它( , ),( , )f( , )mf x yx yfx y在图像 的边界上0其它()fmfRf342015年年9月月13日日9.6灰度图像形态学n 9.6.1 ,膨胀n 使用结构元素b对灰度图像f的膨胀记作fb,定义为:n 当结构元素b是平坦的,即b(x,y)在其定义域内都为0时,n 9.6.1 ,腐蚀n 使用结构元素b对灰度图像f的腐蚀记作fb,定义为:n 当结构元素b是平坦的,即b(x,y)在其定义域内都为0

16、时,()( , )max (,)( ,)|( , )bfb x yf xx yyb x yx yD()( , )max (,)|( , )bfb x yf xx yyx yD()( , )min (,)( ,)|( , )bfb x yf xx yyb x yx yD()( , )min (,)|( , )bfb x yf xx yyx yD352015年年9月月13日日9.6灰度图像形态学n 9.6.1 膨胀与腐蚀n 灰度图像的形态学梯度定义为膨胀运算与腐蚀运算的结果之间的差值。f=imread(city.tif);se=strel(square,3);gd=imdilate(f,se);g

17、e=imerode(f,se);morph_grad=imsubtract(gd,ge);figure;subplot(2,2,1);imshow(f,);title(原图);subplot(2,2,2);imshow(gd,);title(原图的膨胀结果);subplot(2,2,3);imshow(ge,);title(原图的腐蚀结果);subplot(2,2,4);imshow(morph_grad,);title(原图的形态学梯度);362015年年9月月13日日9.6灰度图像形态学n 9.6.2 开运算与闭运算n 开运算n n 把一幅图像看做是一个三维表明,其亮度值代表xy平面上的高

18、度值,则当结构元素b在f下面活动时,结构元素的任何部分的最高值构成了开运算的结果。n 可以除去比结构元素更小的明亮细节,同时保持图像整体的灰度级和较大的明亮区域不变。n 闭运算n n 当结构元素b在f的上面活动时,结构元素的任何部分的最低值构成了闭运算的结果。n 除去比结构元素更小的暗部细节,同时保持图像整体的灰度级和较大的暗部区域不变。()fbfbb()fbfbb372015年年9月月13日日9.6灰度图像形态学n 9.6.2 开运算与闭运算n 例9.9,使用开运算和闭运算做形态学平滑,test09_09.m% 例9.9 使用开运算和闭运算进行形态学平滑f = imread(dowel.ti

19、f);figure;subplot(2,2,1);imshow(f)title(木按钉的原始图像)se = strel(disk,5);fo = imopen(f,se);subplot(2,2,2);imshow(fo)title(使用半径为5的圆盘执行开运算后的图像)foc = imclose(fo,se);subplot(2,2,3);imshow(foc)title(经过开运算后再经闭运算后的图像)fasf = f;for k = 2:5 se = strel(disk,k); fasf = imclose(imopen(fasf,se),se);endsubplot(2,2,4);i

20、mshow(fasf)title(交替顺序滤波后的图像)382015年年9月月13日日9.6灰度图像形态学n 9.6.2 开运算与闭运算n 例9.10,使用顶帽运算消除背景差异,test09_10.mf=imread(rice.tif);g = f=(255*graythresh(f);se=strel(disk,100);fo=imopen(f,se);f2=imsubtract(f,fo);g1 = f2=(255*graythresh(f2);figure;subplot(2,3,1);imshow(f);title(原图);subplot(2,3,2);imshow(g);title(

21、经过阈值处理后的图像)subplot(2,3,3);imshow(fo);title(原图开运算后的图像);subplot(2,3,4);imshow(f2);title(原图减去开运算);subplot(2,3,5);imshow(g1);title(最终结果);392015年年9月月13日日9.6灰度图像形态学n 9.6.2 开运算与闭运算n 例9.11,颗粒分析,test09_11.mf=imread(dowel.tif);sumpixels=zeros(1,36);for k=0:35,se=strel(disk,k);fo=imopen(f,se);sumpixels(k+1)=su

22、m(fo(:);endfigure;subplot(1,3,1);plot(0:35,subpixels);xlabel(k);ylabel(surface area);subplot(1,3,2);plot(-diff(sumpixels);xlabel(k);ylabel(surface area reduction);402015年年9月月13日日9.6灰度图像形态学n 9.6.3重构n 直接重构n 开运算重构n 先腐蚀,再以腐蚀结果为marker,以原图为mask,进行重构n 闭运算重构n 原图求补,再腐蚀,再以腐蚀结果为marker,以原补图为mask,进行重构,重构结果再求补。412015年年9

温馨提示

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

评论

0/150

提交评论