(一)链式编码(Chain Codes)

链式编码又称为弗里曼链码(Freeman,1961)或边界链码。考虑图 3- 9 中的多边形。该多边形的边界可表示为:由某一原点开始并按某些基本方向确定的单位矢量链。基本方向可定义为:东=0,东南=1,南=2,西南= 3,西=4,西北=5,北=6,东北=7 等八个基本方向。如果再确定原点为像元(10,1),则该多边形边界按顺时针方向的链式编码为:

10,1,7,0,1,0,7,1,7,0,0,2,3,2,2,1,0,7,0,0,0,

0,2,4,3,4,4,3,4,4,5,4,5,4,5,4,5,4,6,6。其中前两个数字 10 和 1 表示起点为第十行第一列,从第三个数字开始每个数字表示单位

矢量的方向,八个方向以 0—7 的整数代表。

链式编码对多边形的表示具有很强的数据压缩能力,且具有一定的运算功能,如面积和周长计算等,探测边界急弯和凹进部分等都比较容易,比较适于存储图形数据。缺点是对叠置运算如组合、相交等则很难实施,对局部修改将改变整体结构,效率较低,而且由于链码以每个区域为单位存储边界, 相邻区域的边界则被重复存储而产生冗余。