智能车制作
标题:
摄像头识别起跑线
[打印本页]
作者:
drcess
时间:
2008-6-30 00:14
标题:
摄像头识别起跑线
<
>怎样用摄像头识别起跑线 </P><P>很急哦 </P><P>谢谢大家哦</P>
作者:
demon
时间:
2008-7-2 08:11
标题:
Re:摄像头识别起跑线
<
><FONT size=3>假设白为0黑为1的话,起跑线的特征大致应该为</FONT></P><P><FONT size=3>00000000<STRONG>11111</STRONG>0000<STRONG>111</STRONG>0000<STRONG>11111</STRONG>00000000000 </FONT></P><P><FONT size=3>实测后根据这个特征就能检测到了</FONT></P><P><FONT size=3>如果不能100%检测到的话还有一个方法就是把起跑线当作十字交叉线检测!在实际比赛前将比赛的交叉线个数输入单片机!</FONT></P>
作者:
smartjoy
时间:
2008-7-3 01:09
标题:
Re:摄像头识别起跑线
<
>得到的起跑线特征比这个差多了,而且还得考虑斜着过起跑线</P>
作者:
minminlee
时间:
2008-7-5 19:08
标题:
Re:Re:摄像头识别起跑线
<blockquote><img border=0 src=images/icon-quote.gif> <b>smartjoy:</b><br><
>得到的起跑线特征比这个差多了,而且还得考虑斜着过起跑线</P><P></blockquote></P><P>同意这种说法 怎么解决?</P>
作者:
vds
时间:
2008-7-5 20:05
标题:
Re:摄像头识别起跑线
<
>单行可以检测到这样的特征值,但是速度太快了就检测不到,没停下来,你们什么做啊</P>
作者:
minminlee
时间:
2008-7-5 23:02
标题:
Re:摄像头识别起跑线
大家是怎么做的呀?谢谢了
作者:
fanshq
时间:
2008-7-7 18:11
标题:
Re:摄像头识别起跑线
<
>正在思考中。。。。。。。</P>
作者:
920lyj
时间:
2008-7-8 09:34
标题:
Re:摄像头识别起跑线
密切关注
作者:
zsy7758758
时间:
2008-7-10 18:14
提示:
作者被禁止或删除 内容自动屏蔽
作者:
rookie
时间:
2008-7-11 04:19
标题:
Re:摄像头识别起跑线
也是有时会误判,把十字线认成起跑线,有时起跑线会漏判,看来比赛时要靠运气了
作者:
drcess
时间:
2008-7-12 21:56
标题:
Re:Re:摄像头识别起跑线
<
>我们的车还存在一个问题就是 在有转弯的时候转的不好 而且速度一提上去 我们的检测就存在问题 </P><P>自己觉得还是检测的不是很好 </P><P>下面是我们的黑线中心提取方法</P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN lang=EN-US>-----------------------------------------</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">摄像头黑线中心提取</SPAN><SPAN lang=EN-US>----------------------------------------------</SPAN></FONT></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>void imageSamp(void){</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>char i=0;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>unsigned char j=8;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>char m=0;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>char n=0;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>for(i=ROW_MAX-1;i>=0;i--){</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>in_flag_1=0;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>out_flag_1=0;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>for(j=0;j<LINE_MAX;j++){</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>ccd[j]=temp_vd<i>[j];}</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>j=8;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>while(j<LINE_MAX-3){</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>dif=ccd[j]-ccd[j+3];</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>if(dif>=LATCH_P){black_in=j+3;j=j+2;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>in_flag_1=1;}</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>else {if(dif<=LATCH_N){black_out=j+3;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>j=j+2;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>out_flag_1=1;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>}</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>}</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>j++;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>}</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>if(in_flag_1==1&&out_flag_1==1)</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN lang=EN-US>black_mid<i>=black_out-2;/*</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">黑线中心位置</SPAN><SPAN lang=EN-US>*/</SPAN></FONT></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN lang=EN-US>if(in_flag_1==1&&out_flag_1==0)black_mid<i>=50;//</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">右偏</SPAN></FONT></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN lang=EN-US>if(in_flag_1==0&&out_flag_1==1)black_mid<i>=7; //</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">左偏</SPAN></FONT></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>if(in_flag_1==0&&out_flag_1==0)black_mid<i>=60;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN lang=EN-US>/*</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">滤波,得到滤波后每行黑线的中心位置</SPAN><SPAN lang=EN-US>*/</SPAN></FONT></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>for(i=1;i<ROW_MAX-1;i++){</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>temp=get_mid(black_mid[i-1],black_mid<i>,black_mid[i+1]);</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3>black_mid<i>=temp;}</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes"> </SPAN>disturb=0;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"><FONT size=3> </FONT></SPAN></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes"> </SPAN>for(m=row_max-1,n=samp_row-1;m>=0;m=m-3,n=n-1){</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"><FONT size=3> </FONT></SPAN></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes"> </SPAN>data[n]=black_mid[m];</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes"> </SPAN>if(data[n]>55) {</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"><FONT size=3> </FONT></SPAN></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes"> </SPAN>if(n==samp_row-1) data[n]=data[0];</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes"> </SPAN>else data[n]=data[n+1];</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes"> </SPAN>disturb++;</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="mso-spacerun: yes"> </SPAN>}</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes"> </SPAN>}</FONT></SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes"> </SPAN>}</FONT></SPAN></P><P>很简单 自己觉得问题很大 但是在速度很慢的时候不会出现什么问题</P><P>希望提一些宝贵的意见 </P><P> </P><P>很急哦 !因为我们6.15号才开始做 时间很紧。</P><P> </P><P>非常感谢好心人的帮助。</P>
作者:
yaofanglover
时间:
2008-7-13 19:43
标题:
Re:摄像头识别起跑线
出现过同样的问题,有时候十字线也会误判成起跑线,正在解决中......
作者:
zsy7758758
时间:
2008-7-13 20:53
提示:
作者被禁止或删除 内容自动屏蔽
作者:
Flyingpigone
时间:
2008-7-13 22:15
标题:
Re:摄像头识别起跑线
俺准备加一秒了~~
作者:
drcess
时间:
2008-7-14 07:04
标题:
Re:Re:Re:摄像头识别起跑线
<
>我自己也准备一把抓起了哦 现在舵机还没有调好</P><P>正在解决中 </P><P>那位学长有好建议,请多多指教啊!</P><P>感激!!!!!!!!!!!!!!!!!!!</P>
作者:
妞儿
时间:
2010-3-7 18:08
我觉得你给一个判断的区间就可以了,避免斜着过起跑线啊
作者:
nigel1946
时间:
2010-3-25 14:55
作者:
zou317
时间:
2010-3-26 23:45
关注中···
作者:
crj19880917
时间:
2010-3-27 14:57
对啊有时候会误判的啊
作者:
jiutian0396
时间:
2010-3-29 20:18
天天来看看!
作者:
huachou
时间:
2010-4-20 19:08
考虑中
作者:
流_云
时间:
2010-4-20 22:03
同样的问题
作者:
sososo
时间:
2010-5-7 16:51
关注中
作者:
675432886
时间:
2010-5-7 21:10
密切关注中……
作者:
武当奇人
时间:
2010-5-8 15:13
作者:
飞跃
时间:
2010-5-10 22:36
我们现在也没办法解决这个问题,看看哪位高手有好的建议
作者:
liuyh065
时间:
2010-5-11 09:49
密切关注
作者:
zzy2099
时间:
2010-5-11 10:04
此问题有正解:
1,区别十字路口和起跑线,异或运算
2,斜着进起跑线,或运算
不明白的再联系
作者:
丘九天
时间:
2010-5-28 19:55
加光电管,如何
作者:
yxh1234567
时间:
2010-6-10 20:09
丢呀
作者:
静之音
时间:
2010-6-11 02:22
和十字交叉区别一下就可以 了
作者:
feifei
时间:
2010-6-22 21:46
检测跳变沿吧
作者:
潇潇凤仔
时间:
2010-6-27 12:54
还没实现
作者:
小小车有大学问
时间:
2010-7-9 16:08
作者:
小小车有大学问
时间:
2010-7-9 16:08
期待?
作者:
zhanghl
时间:
2010-7-10 21:15
关注
作者:
zhangD
时间:
2010-7-11 09:52
借助光电
作者:
忽忽
时间:
2010-7-13 21:12
我的有时能检测到,是在不同行中检测到三段黑线,就停车,还不太管用,大家有什么好办法啊
作者:
poloverjuice
时间:
2010-7-15 09:00
起跑线的代码一加进去,要不是过弯就停车,要不就是十字交叉停车,算了,,,就加一秒吧!
作者:
justing88
时间:
2010-7-17 19:55
回复
5#
vds
你好,可以请教你你解决这个问题了吗??我也碰到这个问题了,现在也不知道如何来解决啊
作者:
shuxinxiaozi
时间:
2010-7-17 23:05
保持关注中,比赛时可以通过控制,如果检测不到起跑线就把起跑线检测的程序关掉!
作者:
李浩
时间:
2011-3-13 15:44
围观
作者:
LI912683617
时间:
2012-7-7 17:34
zzy2099 发表于 2010-5-11 10:04
此问题有正解:
1,区别十字路口和起跑线,异或运算
2,斜着进起跑线,或运算
你好!你们起跑线解决了吗?能给提供以下思路吗?
作者:
hufeng
时间:
2012-7-14 19:17
zzy2099 发表于 2010-5-11 10:04
此问题有正解:
1,区别十字路口和起跑线,异或运算
2,斜着进起跑线,或运算
不明白
作者:
天涯狼
时间:
2016-4-2 10:31
纠结中
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2