对斑马线的识别分为3补: 1.计算斑马线黑色色块的宽度。
2.计算一行中斑马线黑色色块的个数。
3.计算一共有几行的斑马线。
步骤:如果黑色色块的宽度为4~8,则认为这一个色块有效,色块个数+1.色块宽度计算方法:从左向右扫描到第一个黑色边缘从此点开始计数,向左扫描第一个白色点并记录,最后用黑色点坐标减去百色点坐标就得到黑色块的宽度了。
接下来重复步骤扫描其他色块,每扫描到一个我们认为有效的色块(即黑色色块的宽度为4~8),色块个数加一,直到把这一行的色块个数都扫完,再去扫上一行。如果有大于等于4行的满足个数的黑色块,则认为找到了斑马线。
接下来上代码:
//判断斑马线函数
void banmaxian(int start_point, int end_point)
{
//变量标志位
int banmaxian_kuandu;//斑马线宽度
int banmaxian_hangshu;//斑马线行数