智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2060|回复: 9
打印 上一主题 下一主题

蓝宙取线代码--求讲解?????

[复制链接]

4

主题

60

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1051
威望
711
贡献
244
兑换币
179
注册时间
2014-3-20
在线时间
48 小时
毕业学校
大连海事大学
跳转到指定楼层
1#
发表于 2014-3-27 13:05:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define LINEBREADTH    10
#define LINECONCAT     8
void AccommodFondLine(s8 *PixelAryy ,u8 PixelCount , s16 *LastLeftPixelStation,s16 *LastRingtPixelStation,u8 FAVAULE)
{
  static u8 NOLeftCount,NORingtCout ;
  s16 temp0B ,temp1B,temp2B,temp3B;
  u8 *LineStation ,LineCount ,*LineLeftStation,*LineRingtStation;
  s16 LeftMIN,LeftMAX,RingtMIN,RingtMAX;
  LineCount = 0 ;
  for(temp0B = 0 ; temp0B < PixelCount ; temp0B ++)
  {
    temp1B = temp0B ;
    temp2B = 0 ;
    /***********查找左边凹槽***********/
    while(temp2B <= LINEBREADTH)
    {
      temp1B -- ;
      if(temp1B < 0)
        break ;
      if( PixelAryy[temp1B] -  PixelAryy[temp0B] > FAVAULE )
      { temp2B ++ ;}
      else if(temp2B)
      { break ; }
    }
    /***********查找右边凹槽***********/   
    temp1B = temp0B ;
    temp3B = 0 ;
    while(temp3B <= LINEBREADTH)
    {
      temp1B ++ ;
      if(temp1B > PixelCount)
      { break ; }
      if( PixelAryy[temp1B] -  PixelAryy[temp0B] > FAVAULE )
      { temp3B ++ ;}
      else if(temp3B)
      { break ; }
    }
    /***********
    记录黑线位置
    ***********/   
    if(temp2B >= LINEBREADTH ){
      *LineStation = temp0B ;
      LineCount ++ ;
    }else if(temp3B >= LINEBREADTH ){
      *LineStation = temp0B ;
      LineCount ++ ;
    }
  }
  /**********
  根据连续性查找左右黑线位置
  **********/
  if(LineCount)
  {
    temp2B = PixelCount >> 1 ;
    temp1B = NOLeftCount << 1;
    temp1B += LINECONCAT;
    LeftMIN = *LastLeftPixelStation - temp1B ;
    LeftMAX = *LastRingtPixelStation + temp1B ;
    if(LeftMIN < 0)
      LeftMIN = 0 ;

    if(LeftMAX > (temp2B + 1))
      LeftMAX  = temp2B + 1 ;

    RingtMIN = *LastRingtPixelStation - temp1B ;
    RingtMAX = *LastRingtPixelStation + temp1B ;
    if(RingtMAX > PixelCount)
       RingtMAX = PixelCount ;
    if(RingtMIN < (temp2B - 1)){
       RingtMIN = temp2B - 1 ;
    }
    temp2B = 0 ;
    temp3B = 0 ;
   for(temp1B = 0 ;temp1B < LineCount ;temp1B ++ )
   {
     if( (LeftMIN < LineStation[temp1B])&&(LineStation[temp1B]<LeftMAX))
     {
       LineLeftStation[temp2B] = LineStation[temp1B] ;
       temp2B ++ ;
     }else if( (RingtMIN < LineStation[temp1B])&&(LineStation[temp1B]<RingtMAX))
     {
       LineRingtStation[temp3B] = LineStation[temp1B] ;
       temp3B ++ ;
     }

   }

  }else
  {
    NOLeftCount ++ ;
    NORingtCout ++ ;
  }

  if(temp2B)
  {
    NOLeftCount = 0 ;

  }

}


回复

使用道具 举报

1

主题

52

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3080
威望
1507
贡献
943
兑换币
977
注册时间
2013-4-10
在线时间
315 小时
2#
发表于 2014-3-30 13:39:30 | 只看该作者
楼主搞懂了吗?
回复 支持 反对

使用道具 举报

1

主题

91

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1816
QQ
威望
883
贡献
493
兑换币
597
注册时间
2013-8-15
在线时间
220 小时
3#
发表于 2014-3-30 21:19:08 | 只看该作者
那些个指针变量  是怎么回事啊   你有没有看过野火的差分算法?
回复 支持 反对

使用道具 举报

6

主题

62

帖子

0

精华

高级会员

Rank: 4

积分
792
威望
388
贡献
234
兑换币
239
注册时间
2013-11-5
在线时间
85 小时
4#
发表于 2014-3-31 18:57:49 | 只看该作者
554605956 发表于 2014-3-30 21:19
那些个指针变量  是怎么回事啊   你有没有看过野火的差分算法?

野火的差分算法你有吗?
回复 支持 反对

使用道具 举报

1

主题

91

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1816
QQ
威望
883
贡献
493
兑换币
597
注册时间
2013-8-15
在线时间
220 小时
5#
发表于 2014-3-31 22:43:53 | 只看该作者
辰星 发表于 2014-3-31 18:57
野火的差分算法你有吗?


回复 支持 反对

使用道具 举报

20

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
806
威望
472
贡献
186
兑换币
262
注册时间
2014-1-17
在线时间
74 小时
毕业学校
辽宁工程技术大学
6#
发表于 2014-3-31 23:45:02 | 只看该作者
楼主给下野火的程序,先谢谢楼主了962950706@qq.com
回复 支持 反对

使用道具 举报

6

主题

62

帖子

0

精华

高级会员

Rank: 4

积分
792
威望
388
贡献
234
兑换币
239
注册时间
2013-11-5
在线时间
85 小时
7#
发表于 2014-4-1 14:09:54 | 只看该作者
554605956 发表于 2014-3-31 22:43

能发给我一份吗?新手,写的程序不行一直在纠结                543139650@qq.com
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
威望
184
贡献
112
兑换币
114
注册时间
2013-12-13
在线时间
58 小时
毕业学校
uestc
8#
发表于 2014-4-13 14:12:49 | 只看该作者
这个代码应该少了几行吧!是不是
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
威望
184
贡献
112
兑换币
114
注册时间
2013-12-13
在线时间
58 小时
毕业学校
uestc
9#
发表于 2014-4-13 14:18:48 | 只看该作者
赶脚错误的单词好多,还有纰漏
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
QQ
威望
208
贡献
136
兑换币
136
注册时间
2013-9-12
在线时间
9 小时
10#
发表于 2014-5-3 21:30:08 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-22 11:41 , Processed in 0.057053 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表