金牌会员
- 积分
- 1436
- 威望
- 775
- 贡献
- 323
- 兑换币
- 455
- 注册时间
- 2012-12-26
- 在线时间
- 169 小时
- 毕业学校
- njyddx
|
1贡献
int temp=40,i,j,k,m,n;
unsigned int left=0,right=0,sum=0,z=0,y=0,z1=0,y1=0;
for(i=0;i<60;i++)
{
left=0;
right=0;
z=0;
y=0;
for(j=temp;j<=78;j++)
{
if(Image[i][j]&&Image[i][j+1]&&Image[i][j+2])
{
right=j;
y=1;
break;
}
}
//y1++
for(j=temp;j>=1;j--)
{
if(Image[i][j]&&Image[i][j-1]&&Image[i][j-2])
{
left=j;
z=1;
break;
}
}
//z1++
//////////////////////////////////////////////////
//////////////////////////////////////////////////
if(right>77&&left<2)
{
//MidLine[i]=0;
break;
}
/* if(right>=78&&left>=0)
{
temp=temp+(left-left_past);
}
if(left<=2&&right<=80)
{
temp=temp-(right_past-right);
}
*/
if (z==1&&y==1)
{
if((left>2&&right<78)&&(right-left)>=30&&(right-left)<=70)
{
sum=left+right;
//if((right-left)>3)
{
temp=sum/2;
Image[i][temp]=2;
MidLine[i]=temp;
//m++;
}
/*else if((right-left)<=3)
{
MidLine[i]=0;
} */
}
}
else
if(i<3)
MidLine[i]=MidLine[i-1];
else { temp=2*MidLine[i-1]-MidLine[i-2];
if(temp>=50)temp=50;
else if(temp<=30)temp=30;
MidLine[i]=temp;
}
}
MidLine[0]=MidLine[59];
for(i=2;i<60;i++)
{
if(abs_1(MidLine[i-1]-MidLine[i])>=3) //duishi 黑线是连续的 值还需要确认 即相差多少就认为是错误
{
temp=2*MidLine[i-1]-MidLine[i-2];
if(temp>50)temp=50;
else if(temp<30)temp=30;
MidLine[i]=temp;
//n++;
}
}
//黑线的中值滤波程序!
for(i=1;i<60-1;i++)
{
temp=get_mid(MidLine[i-1],MidLine[i],MidLine[i+1]);
MidLine[i]=temp;
}
return;
}
|
|