数字图像处理实验 数学形态学其应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四:数学形态学及其应用
1.实验目的
1.了解二值形态学的基本运算
2.掌握基本形态学运算的实现
3.了解形态操作的应用
2.实验基本原理
腐蚀和膨胀是数学形态学最基本的变换,数学形态学的应用几乎覆盖了图像处理的所有领域,给出利用数学形态学对二值图像处理的一些运算。
膨胀就是把连接成分的边界扩大一层的处理。而收缩则是把连接成分的边界点去掉从而缩小一层的处理。 二值形态学
I(x,y), T(i,j)为 0/1图像Θ
腐蚀:[]),(&),(),)((),(0
,j i T j y i x I AND y x T I y x E m j i ++=Θ== 膨胀:[]),(&),(),)((),(0,j i T j y i x I OR y x T I y x D m
j i ++=⊕==
灰度形态学 T(i,j)可取10以外的值 腐蚀:
[]),(),(min ),)((),(1
,0j i T j y i x I y x T I y x E m j i -++=Θ=-≤≤
膨胀:
[]),(),(max ),)((),(1
,0j i T j y i x I y x T I y x D m j i +++=⊕=-≤≤
1.腐蚀Erosion:
{}x B x B X x ⊂=Θ:
1B 删两边 2B 删右上
图5-1 剥去一层(皮)
2.膨胀Dilation:
{}X B x B X x ↑⊕:=
1B 补两边
2B 补左下
图5-2 添上一层(漆)
3.开运算open :B B X ⊕Θ=)(X B
4.闭close :∨
Θ⊕=B B X X B )(
5.HMT(Hit-Miss Transform:击中——击不中变换) 条件严格的模板匹配
),(21T T T =模板由两部分组成。1T :物体,2T :背景。
{}
C x x i X T X T X T X ⊂⊂=⊗21,
图5-3 击不中变换示意图
性质:
(1)φ=2T 时,1T X T X Θ=⊗ (2))()()(21T X T X T X C Θ⋂Θ=⊗ C T X T X )()(21Θ⋂Θ=
)/()(21T X T X ΘΘ=
6.细化/粗化 (1)细化(Thin )
C T X X T X XoT )(/⊗⋂=⊗=
去掉满足匹配条件的点。
图5-4 细化示意图
系统细化{}n B oB XoB T Xo ))(((21=, i
B 是1
-i B 旋转的结果(90︒,180︒,270︒)
共8种情况
适于细化的结构元素
1
1110
00d d I =
d
d d L 1011
00=
(2)粗化(Thick )
X 22
1
1
1
2
3
T
XoT
X
X X ⊗T
X ΘT
T ⊕
)(T X X T X ⊗⋃=•
用(){}0,01=T (){}0,12=T 时,X X X T X =⋃=• 故要选择合适的结构元素,如(){}0,11-=T ,(){}0,02=T
对偶性:()*T X T X C C
=•(验证一下)
where ),(*12T T T =
when
),(21T T T =
7. Morphology 小结
A.通过物体(对象)和结构元素的相互作用,得到更本质的形态(shape ) (1) 图像滤波
(2) 平滑区域的边界
(3) 将一定形状施加于区域边界
(4) 描述和定义图像的各种几何参数和特征(区域数、面积、周长、连通度、颗粒度、骨架、边界)
B.形态运算是并行运算
C.细化
区域或边界变为1个象素的宽度,但它不破坏连通性 四方向细化算法:逻辑运算(可删除条件) 形态运算是否可用于细化?
(1)腐蚀:收缩(去掉边缘的点)何时结束?能否保证连通性? (2)开:去毛刺,能否细化(去掉尺寸小于结构元素的块)
3.实验内容与要求
1.设计程序实现对图5-5,实现去除图像中的噪声。
2.设计程序,实现将图5-6转化为二值图像,并计算图中鸡块中骨头的比重。
3.设计程序,实现去除图5-7中的矩形区域外的噪声,并填充矩形区域内部了。
图5-5
图5-6
图5-7
1.实验具体实现
1.对图5-5,实现去除图像中的噪声。
程序设计如下:
I=imread('UF.tif');
J=im2bw(I);
se = strel('diamond',2);
K=imerode(J,se);
subplot(1,3,1),imshow(I),title('原图') subplot(1,3,2),imshow(J),title('2值图片') subplot(1,3,3), imshow(K),title('去噪图片')
2.设计程序,实现将图5-6转化为二值图像,并计算图中鸡块中骨头的比重。程序如下:
I=imread('DDD.tif');
J=im2bw(I);
total1=bwarea(J);
a=size(J);
imshow(J);
s1=a(1),s2=a(2);
s=s1*s2
k=total1/s