数字图像处理(第三版)习题9.2

习题 9.2

题目:

数字图像处理(第三版)习题9.2

数字图像处理(第三版)习题9.2

分析:

(a)首先得先找一些8连通的单一厚度的例子进行观察,然后分析如何变成m连通,接着把上面的方法通过形态学方法实现。

疑问:翻译有问题?这里按照英文的8连通做。边界连通是什么意思?

(b)问题等价于,进行一轮处理之后,会不会有由于前面的操作新生成的8连接,或者说是一轮操作能否将8连接转换成m连接。先用上面的三个例子试验一下,观察情况。

(c)很显然,在使用SE进行击中操作时,由于SE使用的顺序,产生的结果是由差异的。举个反例。

解答:

例子用figure9.26,figure9.25,figure9.22

数字图像处理(第三版)习题9.2数字图像处理(第三版)习题9.2数字图像处理(第三版)习题9.2

把上面的8连通的边界变成m连通的边界。

数字图像处理(第三版)习题9.2数字图像处理(第三版)习题9.2

数字图像处理(第三版)习题9.2

只要把图中蓝笔圈中的方块去掉就行。

问题就转换成找到图中的选中方块,然后去除。选中操作考虑用“击中”的方法。接下来考虑设计SE结构元。

击中的用的结构元SE中心设为需要去除的方块,从简单的3x3的SE,显然以上的操作无法通过一个SE完成,需要一组SE。

通过简单的观察可以发现,要匹配(击中)的模式有四种,向左上角凸,向左下角凸,向右上角凸,向右下角凸。

先考虑,向左上角凸的SE:

SE1=

0 0 x
0 1 1
x 1 0

先将原点和其右边和下边的1填上,右下角为0,因为如果时1的话,不满足厚度为1的假设。左上角的位置,如果是1,击中之后去除原点的1的话,会使得边界断开来,所以该位置为0。记下来考虑正上方的位置,如果为1,不符合向左上角凸的前提,无法击中相应的样式,所以该位置0,同样的分析左边的的位置也为0。右上角和左下角的位置,按照上面图上的样子可以为0或者1,这里用x表示。

剩下的三种SE可以看作是刚得出的SE旋转得到,分别为

SE2=

x 1 0
0 1 1
0 0 x

 

SE3=

x 0 0
1 1 0
0 1 x

SE4=

0 1 x
1 1 0
x 0 0

 

A表示原图像,先利用击中或击不中(hit-or-miss),

数字图像处理(第三版)习题9.2

然后从A中剔除数字图像处理(第三版)习题9.2

数字图像处理(第三版)习题9.2

然后使用SE2,SE3,SE4依次进行击中或不击中,剔除操作,得到最后的结果。

 

(b)

数字图像处理(第三版)习题9.2

经过一轮的转换,发现被蓝笔圈中的方块会被去除,红色的方块还被保留,即使多次进行迭代操作也无法去除该红色的方块。考虑修改结构元(SE),将SE的条件放宽,SE变成如下的样子,其余的SE也做相应的改变。

SE1=

0 x x
x 1 1
x 1 0

 

对上面列出的三个例子,进行一轮操作,结果能够达到将8连接转换成m连接。不需要进行迭代。

而且,如果需要迭代,则是因为一论操作之后产生了新的能够被SE击中的结构。以SE1为例,如果将SE1中的0变为1,变成一轮操作之前的原图像,则图像违背了边界是1个像素的假设,所以不成立。

(c)举例说明,转换的结果与SE使用的顺序有关

数字图像处理(第三版)习题9.2

加入先使用SE2后使用SE3,则蓝色的方块会被提剔除,反过来,如果先用SE3后使用SE2,则红色方块会被剔除。

两种方式都会完成转换,但是显然结果是不相同的。