>怎样用摄像头识别起跑线 </P><P>很急哦 </P><P>谢谢大家哦</P>
><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>
>得到的起跑线特征比这个差多了,而且还得考虑斜着过起跑线</P>
>得到的起跑线特征比这个差多了,而且还得考虑斜着过起跑线</P><P></blockquote></P><P>同意这种说法 怎么解决?</P>
>单行可以检测到这样的特征值,但是速度太快了就检测不到,没停下来,你们什么做啊</P>
>正在思考中。。。。。。。</P>
>我们的车还存在一个问题就是 在有转弯的时候转的不好 而且速度一提上去 我们的检测就存在问题 </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>
>我自己也准备一把抓起了哦 现在舵机还没有调好</P><P>正在解决中 </P><P>那位学长有好建议,请多多指教啊!</P><P>感激!!!!!!!!!!!!!!!!!!!</P>



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