八邻域跟踪算法理解

         八邻域跟踪算法基本思想是,遍历图像找到第一个非零像素点,那么这个点一定是边界点。设这个点为起始点x,顺时针查找该点八邻域内遇到的第一个非零像素点x'(点x'也为边界点)。令x=x',再进行邻域内的顺时针查找,查找的起点为刚刚x到x'过程中x'前一个零点。                                           

                           八邻域跟踪算法理解_第1张图片

     对图(a), 在X点时,按照0->1->2->3->4…….的顺序进行查找。6处为查找到的第一个非零像素点,则6处为边界点,X'查找的起始位置是(a)中的5,即X'对应的4,则X'的查找顺序是4->5->6->7->0->1->2->3。

      同理可知。当X'为2,3时,查找起始点为0;当X'为4,5时,查找起始点为2;当X'为6,7时,查找起始点为4;当X'为0,1时,查找起始点为6。

 可用map映射进行存储。Map[0]=6,map[1]=6;map[2]=0,map[3]=0;map[4]=2,map[5]=2,

Map[6]=4,map[7]=4.

    上一步查找到值为d(图a中d为6),则设置初始j=map[d](map[6]=4,即j=4;),但要对0,1,2,3继续查找,所以这里取除以8的余数。d设置为(d+i)%8(i=0,1,2……8)

             八邻域跟踪算法理解_第2张图片

你可能感兴趣的:(八邻域跟踪算法理解)