当前位置:   article > 正文

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

智能车环岛判断程序

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;
     }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/381000
推荐阅读
相关标签
  

闽ICP备14008679号