第9章形态学图像处理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


9.3 膨胀和腐蚀的组合
使用函数 bwhitmiss
>> f=imread('Fig0913(a)(small-squares).tif'); >> B1=strel([0 0 0;0 1 1;0 1 0]); >> B2=strel([1 1 1;1 0 0;1 0 0 ]); >> g=bwhitmiss(f,B1,B2);
定义
思想
作用
基本运算
形态学图像处理概述
9.1集合论基本概念
集合论基本概念
并集: C A B
其中A、B为两个集合
交集: C A B
差集:C A B w | w A, w B 映像: B w | w b, b B 平移: ( A) c | c a z, a A 即点对集合A的平移
腐蚀
作用:消除边界点,使边界向内部收缩,用来消除小且无意义的物体。 定义1:A和B是两个集合,A被B腐蚀定义为 AΘB= z | (B) z A 定义2: AΘB= z | ( B) z Ac
9.2 膨胀和腐蚀
例:膨胀的简单应用
>> A=imread('Fig0906(a)(broken-text).tif'); >> B=[0 1 0;1 1 1;0 1 0 ]; >> A2=imdilate(A,B);
>> subplot(2,2,1),imshow(A)
>> subplot(2,2,2),imshow(A2) >> se=strel('disk',5); >> A3=imerode(A,se);
>> subplot(2,2,3),imshow(A3)
>> A4=imerode(A,strel('disk',20)); >> subplot(2,2,4),imshow(A4)
9.3 膨胀和腐蚀的组合
函数 bwmorph: g= bwmorph(f, operation,n)
'hbreak':断开图像中的H型连接;
‘majority’:如果一个像素的8邻域中有等于或超过5个像素点的像素值为1, 则将
该点像素值置1; 'open':进行形态学开运算(即先腐蚀后膨胀); 'remove':如果一个像素点的4邻域都为1, 则该像素点将被置0;
9.5 形态学重构
由重构做开运算、填充孔洞
>> f=imread('Fig0922(a)(book-text).tif'); >> fe=imerode(f,ones(51,1)); >> fo=imopen(f,ones(51,1)); >> fobr=imreconstruct(fe,f); >> g=imfill(f,'holes');
即B的反射经过平移与A的交集是A的子集 满足交换律:
A B B A
9.2 膨胀和腐蚀
结构元素分解
满足组合律:利用此性质进行结构元素分解,从而提高运算速度。
A ( B C ) ( A B) C
函数 strel: se = strel (shape, parameters) 其中, shape是指定希望形状的字符串,而paramters是指定形状信息的一系列参数 函数 getsequence:用于提取并检查分解中的单个结构元素。
实验①结果:
开操作:删除了不能包含结构元素的对象匹配;平滑了对象的轮廓;断开了狭窄的 连接;消除了细的突出物。 闭操作:平滑了对象轮廓;将狭窄的缺口连接起来形成细长的弯口;填充比结构元 素小的洞;并填补轮廓线中的断裂。 先开操作再闭操作:构成了噪声滤波器,可以有效地去除噪声
9.3 膨胀和腐蚀的组合
>> foc=imclose(fo,se);
实验②: >> f=imread('Fig0911(a)(noisy-fingerprint).tif');
>> se=strel('square',3);
>> fo=imopen(f,se); >> foc=imclose(fo,se);
9.3 膨胀和腐蚀的组合
9.3 膨胀和腐蚀的组合
例:细化操作
>> f=imread('Fig0911(a)(noisy-fingerprint).tif'); >> se=strel('square',3); %构造3*3的结构元素
>> fo=imopen(f,se);
>> foc=imclose(fo,se); >> g1=bwmorph(foc,'thin',1); >> g2=bwmorph(foc,'thin',2); >> ginf=bwmorph(foc,'thin',Inf);
9.3 膨胀和腐蚀的组合
A B ( A B) Θ B
开操作函数:C= imopen(A,B) 其中,A是一幅二值图像,B是指定了结构元素的矩阵 闭操作函数:C= imclose(A,B)
9.3 膨胀和腐蚀的组合
函数 imopen和 imclose的应用
实验①: >> f=imread('Fig0910(a)(shapes).tif'); >> se=strel(‘square’,20); %构造20*20的结构元素 >> fo=imopen(f,se); >> fc=imclose(f,se); %使用20*20的结构元素对原图像进行开运算
plot(cbar,rbar,'Marker','o','MarkerEdgeColor','k', 'MarkerFaceColor','k','MarkerSize',10);
9.5 形态学重构
形态学重构
概述:重构是一种涉及到两幅图像和一个结构元素的形态学变换。一幅图像,即 标记,是变换的开始点。另一幅图像是掩膜,用来约束变换过程。结构元素
>> subplot(1,2,1),imshow(A).
>> subplot(1,2,2),imshow(A2)
9.2 膨胀和腐蚀
例:腐蚀的简单应用
>> A=imread('Fig0908(a)(wirebond-mask).tif'); >> se=strel(‘disk’,10); %构造半径为10的圆盘结构元素 >> A2=imerode(A,se); %进行腐蚀操作
'bridge':进行像素连接操作;
‘clean’: 去除图像中孤立的亮点, ‘close’: 进行形态学闭运算(即先膨胀后腐蚀); ‘diag’: 采用对角线填充, 去除八邻域的背景;
'dilate': 使用结构元素ones(3)对图像进行膨胀运算;
'erode':使用结构元素ones(3)对图像进行腐蚀运算; ‘fill’: 填充孤立的黑点,
A B ( A Θ B) B
即先用B对A进行腐蚀,再用B对结果进行膨胀 定义2:
A B (B)z | (B) z A
9.3 膨胀和腐蚀的组合
开操作几何解释:
开操作通过B中的点来完成 B在A的边界内转动,B中的点能到达A边界的最大值
9.3 膨胀和腐蚀的组合
9.4 标注连接分量
例:计算和显示连接分量的质心
f=imread('Fig0917(a)(ten-objects).tif');
[L,n]=bwlabel(f); %计算8连接时图像中的所有连接分量 imshow(f) hold on for k=1:n [r,c]=find(L==k); rbar=mean(r); cbar=mean(c); plot(cbar,rbar,'Marker','*','MarkerEdgeColor','w'); end
Leabharlann Baidu
9.2 膨胀和腐蚀
例:实验结果
总结:根据结构元素的大小不同,可以腐蚀掉不同的图像不相关细节
9.3 膨胀和腐蚀的组合
开操作和闭操作 膨胀和腐蚀的组合 击中或击不中变换 使用查找表
开操作
作用:删除了不能包含结构元素的对象匹配;平滑了对象的轮廓;断开了狭窄的 连接;消除了细的突出物。 定义1:使用结构元素B对集合A进行开操作:
第九章 形态学图像处理
目录
1 集合论基本概念 膨胀和腐蚀 膨胀和腐蚀的组合 标注连接分量 形态学重构 集合论基本概念 灰度图像形态学
2
3 4
51
6
概述
数学形态学表 示以形态为基 础对图像进行 分析的数学工 具 用具有一定形 态的结构元素 去度量和提取 图像中的对应 形状,以达到 对图像分析和 识别的目的。 简化图像数据 ,保持它们基 本的形状特性 ,并除去不相 干的结构。 膨胀、腐蚀、 开操作和闭操 作
‘skel’: 骨架提取但保持图像中物体不发生断裂;不改变图像欧拉数;
'spur':去除小的分支, 或引用电学术语“毛刺”; 'thicken':通过在边界上添加像素达到加粗物体轮廓的目的; ‘thin’: 进行细化操作; 'tophat':进行“top hat”形态学运算, 返回源图像减去开运算的图像;
闭操作
作用:平滑了对象轮廓;将狭窄的缺口连接起来形成细长的弯口;填充比结构 元素小的洞;并填补轮廓线中的断裂。 定义:使用结构元素B对集合A进行闭操作:
A B ( A B) Θ B
即先用B对A进行膨胀,再用B对结果进行腐蚀
闭操作的几何意义
闭操作通过B中的点来完成 B在A的边界外部转动,因为开操作和闭操作是一对对偶操作
用于定义连接性。
定义:若g是掩膜,f为标记,则从f重构g可以记为Rg(f)由下面的迭代过程定义:
1:将h1初始化为标记图像f. 2: 创建结构元素:B=ones(3). 3: 重复
hk 1 (hk B) g
直到 hk 1 hk 其中,标记f必须是g的一个子集。
函数 imreconstruct out=imreconstruct(marker,mask) 其中,masker是标记,mask是掩膜
实验②结果:
原图像存在噪声:黑色背景上的亮元素和亮指纹部分暗元素 开操作:消除了背景和指纹中所有的噪声,但指纹纹路间有新间断 先开操作再闭操作:可以有效地去除噪声,但是指纹纹路并没有完全恢复
9.3 膨胀和腐蚀的组合
击中或击不中变换
作用:形状检测的基本工具 定义1:若A和B是两个集合,B是结构元素,B=(B1,B2)
9.6 灰度图像形态学
膨胀和腐蚀
膨胀定义:使用结构元素b对f的灰度膨胀定义为:
f b s, t max f s x, t y b( x, y ) | (s x), (t y ) D f ;( x, y ) Db
其中, D f 和 Db分别是f和b的定义域,f和b是函数而不是二值形态学情况中的集合
则击中或击不中变换定义为:
A B ( AΘ B1 ) ( AcΘ B2 )
其中,B1是由与一个对象相联系的B元素构成的集合 B2是与相关背景有关的B元素的集合 定义2:
A B ( AΘ B1 ) ( A B 2 )
函数 bwhitmiss: C= bwhitmiss(A, B1,B2) 其中,C为结果,A为输入图像, B1和B2为结构元素
z

9.2 膨胀和腐蚀
膨胀
作用:‘‘加长’’或‘‘变粗’’二值图像中的对象 定义1:若A和B是两个集合,则A被N膨胀定义为:
A B z | ( B) Z A



其中,A被B膨胀是所有结构元素原点位置的集合,B是结构元素 定义2:
A B z | ( B ) z A A
9.3 膨胀和腐蚀的组合
函数 bwmorph功能: 对二值图像进行数学形态学运算。 g= bwmorph(f, operation,n)
其中,f是衣服输入二值图像,operation是一个字符串, 用于指定进行的形态学处理 类型, n是一个用于指定将被重复的操作次数的正整数。operation可以为以下值: 'bothat':进行“bottom hat”形态学运算,即返回源图像减去闭运算的图像;
相关文档
最新文档