函数自取,每行只取一个点,取到一个了,但是没到下一行都不继续取点,需要遍历一整条边界,感觉会浪费一点时间,可以自行探索更快的方法。
/*
函数名称:void get_left(uint16 total_L)
功能说明:从八邻域边界里提取需要的边线
参数说明:
total_L :找到的点的总数
函数返回:无
修改时间:2022年9月25日
备 注:右边一样的,请自己完成。
example: get_left(data_stastics_l );
*/
uint8 l_border[image_h];//左线数组
void get_left(uint16 total_L)
{
uint8 i = 0;
uint16 j = 0;
uint8 h = 0;
for (i = 0; i < image_h; i++)
{
l_border[i] = border_min;
}
h = image_h - 2;
//左边
for (j = 0; j < total_L; j++)
{
if (points_l[j][1] == h)
{
l_border[h] = points_l[j][0] ;
}
else continue; //每行只取一个点,没到下一行就不记录
h--;
if (h == 0)
{
break;//到最后一行退出
}
}
}