智能车制作

标题: 赛道采集成这样用不用进行图像处理? [打印本页]

作者: qi亚    时间: 2013-1-8 13:07
标题: 赛道采集成这样用不用进行图像处理?
大家看看,这样的图像用不用进行图像处理(如那些梯形失真,桶形失真)。飞思卡尔路上的小白,求指导
作者: yukunlinykl    时间: 2013-1-8 16:57
图像的成像质量挺不错的,至于你说的那几个算法,相加加,不想加不加。
作者: tcxz111    时间: 2013-1-8 22:02
使用硬件二值化电路采集的图像吗?
作者: 378110705    时间: 2013-1-8 22:14
根据你的控制思想来定
作者: qi亚    时间: 2013-1-9 10:03
378110705 发表于 2013-1-8 22:14
根据你的控制思想来定

控制思想,好吧,貌似不是太理解,
void bianjie(void)
{
   char i,j,flag_zuo=0,flag_you=0;
   for(i=10;i<40;i++)//拥谑?轿逍信卸?
   {
     flag_zuo=0;
     flag_you=0;
      for(j=0;j<42;j++) //从中间往两边采集
       {
       /////////////////////左///////////////////////   
         if((Buffer1[41-j]==0)&&(flag_zuo==0)&&(Buffer1[40-j]==0))
         {         
            Buffer2=(41-j); //图像边界提取dengyu 列号
            flag_zuo=1;   
         }
      ///////////////////////右/////////////////////              
          if((Buffer1[42+j]==0)&&(flag_you==0)&&(Buffer1[43+j]==0))
          {         
             Buffer2[42+i]=(42+j);//等于列号   
             flag_you=1;
          }
        
       }
     if(flag_zuo==0) Buffer2=0;  //没有找到黑点有效边界
     if(flag_you==0) Buffer2[42+i]=83;
   }
   //========= 转向提取   10     16=========//弯道提取函数
   turn=0;
   /******************   提取中心引导线    ***************************/
   for(i=5;i<16;i++)
   {
    Image_Center=Buffer2+ Buffer2[42+i];
    Image_Center>>=1;
   }
     //= Image_Center[15]-Image_Center[10];
    turn = Image_Center[10]-41;
}

void server_driver()  //中间1500    往左转1500-(100/9*θ)   往右转1500+(100/9*θ)
{
//========= 直道 ===========//
    if((Image_Center[10]>38)&&(Image_Center[10]<45)) //29//49
    {angle=1500WMDTY23=angle; PWMDTY45     = 250; }
   //XXXXXXXXX 二 档 XXXXXXXXXXXX//
     //===== 普通弯道 打弯向右 ======//
      if(turn>0)
         {
            
             angle=1500+turn*10;
             PWMDTY23=angle;
           
         }
    //====== 普通弯道 打弯向左 ======//
   if(turn<0)
         {
            
             angle=1500-turn*10;
             PWMDTY23=angle;
           
         }  
    //========== 靠近外侧 =========//丢线时
    if(Buffer2[12]>30&&Buffer2[13]>30)//左边界丢线
    {
      angle=1290; PWMDTY23=angle; PWMDTY45     = 300;
      
    }
    if(Buffer2[54]<60&&Buffer2[55]==60)//右边界边界丢线
     {
      angle=1710; PWMDTY23=angle;  PWMDTY45     = 300;
      
     }                    
}
我目前按着之前做的51轨迹小车思想来写的程序,有时候还行,但大多数还是会冲出赛道,
   麻烦你一下,像我们的数字摄像头如何实现动态阀值?--------飞思卡尔路上的小白。




作者: qi亚    时间: 2013-1-9 10:04
tcxz111 发表于 2013-1-8 22:02
使用硬件二值化电路采集的图像吗?

不是,我用的是OV7620数字摄像头,软件二值化
作者: qi亚    时间: 2013-1-9 10:05
yukunlinykl 发表于 2013-1-8 16:57
图像的成像质量挺不错的,至于你说的那几个算法,相加加,不想加不加。

加不加 有什么影响啊?
作者: yukunlinykl    时间: 2013-1-9 11:18
qi亚 发表于 2013-1-9 10:05
加不加 有什么影响啊?

等你做出来之后才知道。


作者: sangxiaoran    时间: 2013-1-9 11:47
提取出来的中线与进行失真处理之后处理的中线差不多的
作者: 378110705    时间: 2013-1-9 12:12
qi亚 发表于 2013-1-9 10:03
控制思想,好吧,貌似不是太理解,
void bianjie(void)
{

额,我的意思是如果你采用面积法就可以不必图像还原,如果是求斜率就需要图像还原。况且如果你采用51循迹的思想的话可能对后期提速帮助不大,这是我个人的想法哈

作者: qi亚    时间: 2013-1-9 14:57
sangxiaoran 发表于 2013-1-9 11:47
提取出来的中线与进行失真处理之后处理的中线差不多的

失真处理,是根据真实中的比例与摄像头中所看到进行比例换算么?程序一定很复杂吧!不太懂!
作者: sangxiaoran    时间: 2013-1-9 16:52
qi亚 发表于 2013-1-9 14:57
失真处理,是根据真实中的比例与摄像头中所看到进行比例换算么?程序一定很复杂吧!不太懂!

到最后提取中线信息的时候改下权重值就行的,调试出来才是硬道理。不能理论呀
作者: qi亚    时间: 2013-1-9 18:15
sangxiaoran 发表于 2013-1-9 11:47
提取出来的中线与进行失真处理之后处理的中线差不多的

失真处理,之前看了一点,没太看明白,感觉好像是进行真实图像与摄像头成像进行比例换算。?好吧!我是这样理解的,但是未能实现。求指导。——---飞思卡尔路上的小白

作者: qi亚    时间: 2013-1-9 18:18
sangxiaoran 发表于 2013-1-9 16:52
到最后提取中线信息的时候改下权重值就行的,调试出来才是硬道理。不能理论呀

权重值?不太理解。还是谢谢你,我先百度一下,慢慢学习了
                                                                   ——飞思卡尔的小白

作者: sangxiaoran    时间: 2013-1-9 19:50
qi亚 发表于 2013-1-9 18:18
权重值?不太理解。还是谢谢你,我先百度一下,慢慢学习了
                                           ...

就是比例系数,毕竟提取出来信息不是一两个。




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2