为何我提取的拟合中线发送到上位机上无法显示,求赐教,谢谢啦
void Binarization(void)//二值化函数
{
u8 i,j;
u8 left_line=0,right_line=0;
for(i=0;i<DATALINE;i++)
{
for(j=0;j<DATACOUNT;j++) //二值化程序段
{
if(ADdata[i][j]>threshold)
ADdata1[i][j] = 1;//白色
else
ADdata1[i][j] = 0;//黑色
//ADdata[30][j]=0x00;//在第20行产生标志线
//ADdata[50][j]=0x00;//在第80行产生标志线
//uart_putchar(UART0,ADdata1[i][j]);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
for(j=DATACOUNT/2;j>0;j--) //提取黑线
{
if((ADdata1[i][j]==0)&&(ADdata1[i][j-1]==0)&&(ADdata1[i][j-2]==0))
{
left_line = j;
break;
}
else
left_line = 0;
}
for(j=DATACOUNT/2;j<DATACOUNT;j++)
{
if((ADdata1[i][j]==0)&&(ADdata1[i][j+1]==0)&&(ADdata1[i][j+2]==0))
{
right_line = j;
break;
}
else
right_line = 140;
}
Center[i] = (left_line+right_line+1)/2;//确定中心线
Centerline[i][Center[i]]=0;//拟合中心线为黑色
uart_putchar(UART0,Centerline[i][Center[i]]);
}
}