智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 10363|回复: 21
打印 上一主题 下一主题

关于摄像头斜入十字的一些想法

  [复制链接]

7

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
979
威望
522
贡献
271
兑换币
333
注册时间
2015-11-1
在线时间
93 小时
毕业学校
UPC
跳转到指定楼层
1#
发表于 2016-2-1 17:49:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
对于摄像头来说,天然的优势是一次可以扫描很多行,这使得在赛道处理方面要比线性CCD简单得多,其实黑线采集本身是非常简单的,不过感觉对于新手来说,斜入十字或许会有点难,这些天我一直在考虑这个问题,今天终于有了一些想法,我们都知道,斜入十字是一定会有一个突变点的,许多人认为难就难在提取这个突变点上,我认为由于镜头失真,导致摄像头采集的数据是梯形的,也就是左边的那条黑线一般是向右倾斜的,而右边的那条黑线一般是向左倾斜的,那么什么时候会出现异常呢,当然是弯道了,各种弯道都可能,其实斜入十字误判就是当弯道处理,而我们只不过是把弯道在进行判断看是不是十字,那么我正常采集黑线的过程中,当出现左边黑线向左倾斜或者右边黑线向左倾斜的时候我就继续采集三行数据,比较这三行的斜率与前三行,这里的前是指靠近车的部分,当斜率突变,则认为是斜入十字。到这里似乎斜入十字就解决了,可是最重要的是补线,那么怎么补线呢,我的处理方法是当我找到斜入十字的时候,我从突变点的哪一行开始,就突变点所在的那一列开始向上搜线,即远处,当搜到黑线的时候结束,这个时候我在向右寻找,当我找到由黑色向白色的跳变的时候,则认为找到了十字的结束行,通过十字开始行(即突变点所在行)到十字结束行的斜率进行补线即可。
回复

使用道具 举报

7

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
979
威望
522
贡献
271
兑换币
333
注册时间
2015-11-1
在线时间
93 小时
毕业学校
UPC
推荐
 楼主| 发表于 2016-2-1 20:21:22 | 只看该作者
°Destiny 发表于 2016-2-1 20:18
楼主可以把计算斜率那儿的代码贴一下吗,谢谢
zxec_slope_calculate()

float zxec_slope_calculate(int8 begin,int8 end,int8 *array)  
{  
  int xsum=0,ysum=0,xysum=0,x2sum=0;
  uint8 i=0;
  float result=0;
  static float result_last;//开辟静态区间,保存上一次的结果
  array=array+begin;//定位开始地址
  for(i=begin;i<=end;i++)
  {
  xsum+=i;
  ysum+=*array;
  xysum+=i*(*array);
  x2sum+=i*i;
  array=array+1;
}
  if((end-begin)*x2sum-xsum*xsum) //除数不为零
  {
    result=(float)((end-begin+1)*xysum-xsum*ysum)/((end-begin+1)*x2sum-xsum*xsum);
    result_last=result;
  }
  else//除数等于零
    result=result_last;//保留上一次不为零时的计算结果
  return result;
}
回复 支持 1 反对 0

使用道具 举报

4

主题

52

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1228
威望
629
贡献
347
兑换币
379
注册时间
2015-4-20
在线时间
126 小时
毕业学校
未毕业
推荐
发表于 2016-2-1 17:58:17 | 只看该作者
来点实际实现代码呗
回复 支持 0 反对 1

使用道具 举报

8

主题

137

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1751
威望
867
贡献
528
兑换币
583
注册时间
2016-12-25
在线时间
178 小时
毕业学校
铃兰高中
22#
发表于 2017-5-11 22:38:15 | 只看该作者
track.Left_Valid    可以请教这个是干嘛的吗(代码里面都没有地方用到呢),为什么判断等于0  就把有效行计数清零和无效行加1呢
回复 支持 反对

使用道具 举报

8

主题

137

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1751
威望
867
贡献
528
兑换币
583
注册时间
2016-12-25
在线时间
178 小时
毕业学校
铃兰高中
21#
发表于 2017-4-22 22:37:08 | 只看该作者
突变点说的是十字开始那个点吗?
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

高级会员

Rank: 4

积分
569
威望
284
贡献
171
兑换币
185
注册时间
2017-2-23
在线时间
57 小时
毕业学校
成都理工大学
20#
发表于 2017-4-21 09:33:34 | 只看该作者
谢谢楼主,感谢分享
回复 支持 反对

使用道具 举报

8

主题

83

帖子

0

精华

高级会员

Rank: 4

积分
622
威望
314
贡献
200
兑换币
203
注册时间
2017-1-31
在线时间
54 小时
毕业学校
皖西学院
19#
发表于 2017-4-6 21:45:06 | 只看该作者
谢谢楼主了
回复 支持 反对

使用道具 举报

0

主题

770

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
9280
威望
5224
贡献
3388
兑换币
3559
注册时间
2016-9-1
在线时间
334 小时
毕业学校
西南某校
18#
发表于 2017-3-4 19:33:46 | 只看该作者
楼主可以把计算斜率那儿的代码贴一下吗,谢谢
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
110
威望
63
贡献
21
兑换币
39
注册时间
2016-4-30
在线时间
13 小时
毕业学校
北京交通大学海滨学院
17#
发表于 2017-3-4 18:13:29 | 只看该作者
顶一个
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
24
威望
15
贡献
3
兑换币
7
注册时间
2016-11-19
在线时间
3 小时
毕业学校
河南师范大学
16#
发表于 2016-11-19 21:56:34 | 只看该作者
楼主能给下这个完整的巡线的程序吗?谢谢
回复 支持 反对

使用道具 举报

0

主题

23

帖子

0

精华

高级会员

Rank: 4

积分
509
威望
267
贡献
140
兑换币
168
注册时间
2015-9-10
在线时间
51 小时
毕业学校
攀枝花学院
15#
发表于 2016-3-29 20:57:37 | 只看该作者
666666666666
回复 支持 反对

使用道具 举报

17

主题

73

帖子

0

精华

高级会员

Rank: 4

积分
840
威望
441
贡献
217
兑换币
268
注册时间
2015-9-29
在线时间
91 小时
毕业学校
颍上一中
14#
发表于 2016-3-28 16:36:13 | 只看该作者
科密顶一个
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 06:25 , Processed in 0.106215 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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