最近在做一些关于图像的东西,在用边界跟踪提取图像的边界之后要用链码编码之后才能进行下一步处理,所以查资料学习了一下标题里面提到的东西。在这里就不说这些东西的背景了,主要是通俗地解释一下这些东西的原理。
在解释这些链码之前,首先解释一下一些需要了解的基础知识
4连通和8连通
在计算机图形学里面,像素是数字图像的基本元素。一张图是由有限个像素点组成的。大家平时经常在网上看到的1080*1920的图其实就是指这张图每一列有1080个像素点,每一行有1920个像素点,整张图一共由1080*1920个像素点构成。根据中心像素点的邻接方向个数的不同,可以分为4连通和8连通(还有其他的情况,不过这里就只介绍4连通和8连通)。从中心像素点正右边开始,逆时针定义方向数,具体如下图:
假如我们从图片里面提取了一个物体的轮廓如下图,红色的像素点代表我们编码的起始点。接下来以下图来讲解一下标题上的几种链码。
freeman链码
在边界曲线上选取一点作为起点,记录起点的坐标,然后按照逆时针的方向&#