有一篇文章说的比较清楚,可是复制不了。这是它的链接:http://shixinhua.com/imganalyse/201301/281.html
首先,8连通与4连通的区别很简单,如下所述:
本段来自百度文库:移步查看
四连通:同一像素在上、下、左、右四个方向有连通。
八连通:同一像素在上、下、左、右、左上角、左下角、右下角、右上角8个方向有连通。
如 A=[1 0 1 0 0 0
1 1 1 0 1 0
0 1 1 0 0 1]
用matlab函数bwlabel函数
[B num] = bwlabel(A,4) %4连通得到
B =
1 0 1 0 0 0
1 1 1 0 2 0
0 1 1 0 0 3num =
3
[B num] = bwlabel(A) %8连通得到
B =
1 0 1 0 0 0
1 1 1 0 2 0
0 1 1 0 0 2
num =2
这里num表示(0)中(1)块连通的数量。bwlabel函数采用按列搜索
的方法对连通区域进行扫描,因此可见4连通区域的值的序号标识,第一块为1,第二块(第五列中的块)为2,第三块(第六列中的块)为3。
但是在图像处理中,已知轮廓,要将轮廓内的部分进行填充时,会碰到“8连通边界”与“4连通边界”这个概念。按理来说,这个概念应该是类似于上面的定义的,但是在书本中的例子中,却没有看出来这种类比,导致不能理解。