• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

智能车打工日记(四)透视变换的一些尝试

人工智能 LeviKing98 1715次浏览 0个评论

目录

  • 透视变换的一些尝试
    • 原理
    • 变换的可行性
    • 变换的过程
    • 结语

透视变换的一些尝试

原理

  【图像处理】透视变换 Perspective Transformation  

变换的可行性

 

  1. 最直接的透视变换为将所有的像素点经过透视变换,得到一幅变换后的图。 变换后的图形的形状将变成不规则的四边形,需要将图形进行截取,然后再作为车辆的图像进行处理。 由于这种方式需要将每个像素点进行处理,并且在变换后还有极大的插值操作计算量,因此不适合在K66之类的芯片上进行处理。
  2. 经过思考与测试,发现先将图像进行处理,找到左右两条边线,然后再将边线进行透视变换,具有很好的可行性。因为只用对两条边线的像素点进行变换,并且插值操作变为一次的线性函数,计算量大大减小。

 

变换的过程

  1. 在直道,获取变换矩阵  

            //通过8个点进行变换矩阵计算
            Set_p1(L_black[5], 5);
            Set_p2(R_black[5], 5);
            Set_p3(L_black[10], 10);
            Set_p4(R_black[10], 10);
            Set_p5(L_black[5], 5);
            Set_p6(R_black[5], 5);
            Set_p7(L_black[5], 10);
            Set_p8(R_black[5], 10);
            //将上面八个点带入,进行变换矩阵运算,得到矩阵
            Get_Prst_Matrix();

  计算得到的矩阵:  
智能车打工日记(四)透视变换的一些尝试   进行计算的图像:  
在这里插入图片描述   2. 利用变换矩阵,将左右两条边线进行透视变换  

   p_Tgt = PrstTrans_Cale(p_Tgt);

  得到离散的左右边线  
智能车打工日记(四)透视变换的一些尝试   3. 将离散的左右边线进行插值处理  

inter_point_L();
inter_point_R();

  得到连续的左右边线  
智能车打工日记(四)透视变换的一些尝试   (上面出现了边线的断层,由于是好几个月前的代码了,就懒得深究了)   4. 保存并使用这个变换矩阵  

//已知矩阵,直接设置
Set_Prst_Matrix(1, 0, 0,
           -1.347f, 0.867f, -0.013f,
            6.733f, 0.667f, 1.06f);

  获得弯道的变换边线  
智能车打工日记(四)透视变换的一些尝试  

结语

  由于能力有限,仍没找到合适的控制来匹配透视变换。 应该也没有机会了。


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明智能车打工日记(四)透视变换的一些尝试
喜欢 (0)

您必须 登录 才能发表评论!

加载中……