智能车元素识别----环岛的判断(右圆环)

1.进环岛之前要先判断环岛---采用寻找下拐点的方法和判断左边为直线并且可以看到上拐点

寻找下拐点需要判断赛道为黑白跳变(由于光照影响会导致判断错误可加入额外条件--拐点上方有白块),左边线则是利用斜率和协方差判断,且出现上拐点,便可以判断圆环并且进行补线操作

代码如下:

     static int mode2_cnt = 0;
     circle1.circle_left_true = 0;//圆环左线特征符合位
     circle1.circle_right_true = 0;//原环境右线特征符合位
     /****************检测左边情况*********************/
     least_sqaure(&ka, &kb);//左右线斜率,主要看左线
     //printf("KA:%f\n", ka);
     //printf("协方差:%f,%f,%f", cov_Rightcircle_L, cov_Rightcircle_R, cov_Rightcircle_R_down);
     if (ka > -0.75 && ka < -0.25)//斜率符合
     {
         if (Left_line_count > 100)//长度符合
         {
             circle1.circle_left_true = 1;//左边符合圆环特征
         }
     }
     /****************检测右边情况*********************/
     find_downcorner();//下拐点n

     find_whitecnt();//如果下拐点存在,则检查拐点右上白行数

     cov_Rightcircle();//协方差

     if (circle1.Length_white > LENGTH_WHITE_THRESHOLD)//下拐点上方空白长度符合
     {
         //左右线相关度判断
         if (cov_Rightcircle_L > 700 && cov_Rightcircle_R >10&& cov_Rightcircle_R_down < -20)
             circle1.circle_right_true = 1;//右边符合圆环特征
     }

     /************发现圆环判断***************/

     if (circle1.circle_left_true && circle1.circle_right_true)
     {
         circle1.circle_findflag = 1;
     }

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢吃草莓吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值