链码

「链码」用于表示由顺序连接的具有指定长度和方向的直线段组成的边界线。这种表示方法基于线段的 4 或 8 连接,每一段的方向使用数字编号方法进行编码。起点用绝对坐标表示。从起点开始,顺时针表示。

img-2024-05-27 14-23-58.png

例如上图,如果用右0上1左2下3的表示方式,则其 4-链码表示为 10103322

问题:

  • 在外轮廓非常大的时候,噪声会产生不必要的链码
  • 噪声会影响后续的链码,导致抗噪声能力差

解决方法

  • 加大网格空间
  • 依据原始边界与结果的接近程度,来确定新点的位置。

起点归一化

对于同一个目标,由于起点的选择不同,链码也会不同,因此对目标表达的一致性受到影响。一种起点归一化方法是:将链码看作由方向数构成的自然数选取值最小的自然数排列。例如:原链码 10103322,可以将其归一化为 01033221

旋转归一化

即是采用了相同起点,轮廓旋转也会导致链码变化。因此可以利用链码的一阶差分,差分码不随轮廓旋转而变化。