注册会员
- 积分
- 60
- 威望
- 44
- 贡献
- 8
- 兑换币
- 13
- 注册时间
- 2012-11-30
- 在线时间
- 4 小时
|
4#
楼主 |
发表于 2013-3-19 16:03:08
|
只看该作者
lianghuihao 发表于 2013-3-19 11:06
给个图看看
图像采集卡读到的信息貌似是正确的。。。下面是我们写的寻线的程序,难道是程序有问题???
void Leftline(void) //扫描实际中的左线,即采集图像中的右线
{ unsigned char i,j;
for(i=0;i<row_num;i++)
{ for(j=9;j<50;j++)
{
if(image[j+3]-image[j]>70 && image[j+3]>100 && image[j+20]>70 )
{
Lx=j ; break;
}
if(j==50) Lx=0;
}
}
}//Leftline()函数结束
void Rightline(void)
{unsigned char i,j;
for(i=0;i<row_num;i++)
{ for(j=139;j>80;j--)
{if(image[j-3]-image[j]>70 && image[j-3]>90 && image[j-30]>70 )
{ Rx=j ;break ;}
if(j==80) Rx=139;
}
}
}//Rightline()函数结束
void GetCenter(void) {
unsigned char i;
for(i=0;i<row_num;i++)
{
if(Rx-Lx>50&&Rx-Lx<110)
center=(Lx+Rx)/2;
if (Lx<25) center=center+20;
else center=86;
}
}
由于右拐时采到的Lx总是较小,所以做了一些修正
|
|