数字图像处理实验报告实验三

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

中南大学数字图像处理实验报告

实验三数学形态学及其应用

实验三 数学形态学及其应用

一.实验目的

1.了解二值形态学的基本运算

2.掌握基本形态学运算的实现

3.了解形态操作的应用

二.实验基本原理

腐蚀和膨胀是数学形态学最基本的变换,数学形态学的应用几乎覆盖了图像处理的所有领域,给出利用数学形态学对二值图像处理的一些运算。

膨胀就是把连接成分的边界扩大一层的处理。而收缩则是把连接成分的边界点去掉从而缩小一层的处理。

二值形态学

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 )(/⊗⋂=⊗= 去掉满足匹配条件的点。

X

221

11

23

T ⨯⨯⨯

⨯XoT X X ⊗T X X ⊗T X ΘT T ⊕

图5-4 细化示意图 系统细化{}n B oB XoB T Xo ))(((21=, i B 是1-i B 旋转的结果(90︒,180︒,270︒)共8种情况

适于细化的结构元素 1111000d d I = d

d d L 101100=

(2)粗化(Thick )

)(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)开:去毛刺,能否细化(去掉尺寸小于结构元素的块)

三.实验提示

Matlab 中用imdilate 函数实现膨胀。用法为:

Imdilate(X,SE).其中X 是待处理的图像,SE 是结构元素对象。

例如:

bw = imread('text.png');

se = strel('line',11,90);

bw2 = imdilate(bw,se);

imshow(bw), title('Original')

figure, imshow(bw2), title('Dilated')

Matlab 用imerode 函数实现图像腐蚀。用法为:

Imerode(X,SE).其中X 是待处理的图像,SE 是结构元素对象。

如:

I = imread('cameraman.tif');

se = strel('ball',5,5);

I2 = imerode(I,se);

imshow(I), title('Original')

figure, imshow(I2), title('Eroded')

Matlab用imopen函数实现图像开运算。用法为:

imopen(I,se);

I为图像源,se为结构元素

Matlab用imclosee函数实现图像闭运算。用法为:

imclose(I,se);

I为图像源,se为结构元素

结构元素的选取:

strel函数

SE = strel('arbitrary',NHOOD)

将NHOOD构造成你设定的矩阵;如将NHOOD写在[1 1 1;1 1 1; 1 1 1] SE = strel('diamond',R)

构造一个中心具有菱形结构的结构元素,R为跟中心点的距离

SE = strel('rectangle',MN)

构造一个矩形的结构元素,MN可写在[3 4],表示3行4列

SE = strel('square',W)

构造一个正方形的矩阵。

计算二值图像面积

bwarea

功能:

计算二进制图像对象的面积。

语法:

total = bwarea(BW)

举例

BW = imread('circles.png');

imshow(BW);

bwarea(BW)

ans =

15799

bwmorph

功能:

相关文档
最新文档