一段字符识别的算法实现,没看懂什么意思,有大侠指点下吗?
程序代码://开始识别
int Num1[4]={0}; //下行结果存储
int Num2[4]={0}; //上行结果存储
int Num[4]={0}; //存储最终结果
int Num3[4]={0}; //区别5和8的标记
int count=0; //计数器
int m=4; //从0开始的
int x=0;
int y=0;
for (int n=7; n<fileinfo.biWidth;n++) //下面一行
{
if(rgb[m*fileinfo.biWidth+n].rgbtRed==0 && y<3)
{
x=x+1;
}
else
{
if(x >=2)
{
while(Num1[y]!=0)
{
y=y+1;
}
Num1[y]=x;
x=0;
}
}
}
m=fileinfo.biHeight-4; //上面一行
x=0;
y=0;
for (int a=7; a<fileinfo.biWidth;a++)
{
if(rgb[m*fileinfo.biWidth+a].rgbtRed==0 && y<3)
{
x=x+1;
}
else
{
if(x >=2)
{
while(Num3[y]!=0)
{
y=y+1;
}
Num3[y]=x;
x=0;
}
}
}
m=fileinfo.biHeight-5;
x=0;
y=0;
for (int c=7; c<fileinfo.biWidth;c++) //中间一行
{
if(rgb[m*fileinfo.biWidth+c].rgbtRed==0 && y<3)
{
x=x+1;
}
else
{
if(x >=2)
{
while(Num2[y]!=0)
{
y=y+1;
}
Num2[y]=x;
x=0;
}
}
}
for(int z=0;z<4;z++)
{
if(Num1[z]==3 &&Num3[z]==3)
{
Num[z]=0;
}
if(Num1[z]==8 &&Num3[z]==3)
{
Num[z]=1;
}
if(Num1[z]==8 && Num3[z]==5)
{
Num[z]=2;
}
if(Num1[z]==5 &&Num3[z]==5 && Num2[z]==8)
{
Num[z]=3;
}
if(Num1[z]==2 &&Num3[z]==2)
{
Num[z]=4;
}
if(Num1[z]==5 && Num3[z]==8 )
{
Num[z]=5;
}
if(Num1[z]==4 &&Num3[z]==4 && Num2[z]==6)
{
Num[z]=6;
}
if(Num1[z]==2 &&Num3[z]==8)
{
Num[z]=7;
}
if(Num1[z]==5 &&Num3[z]==5 && Num2[z]==7)
{
Num[z]=8;
}
if(Num1[z]==4 && Num3[z]==4 &&Num2[z]==7)
{
Num[z]=9;
}
}










打都打不开。 木有VC6的MFC库文件。